Merge branch 'upstream'
Integrate from SVN upstream, version 1396.
All conflicts resolved by hand.
Conflicts:
src/libprojectM/MilkdropPresetFactory/BuiltinFuncs.hpp
src/libprojectM/MilkdropPresetFactory/Expr.cpp
src/libprojectM/Renderer/Renderer.cpp
src/libprojectM/config.inp.in
src/libprojectM/projectM.cpp
diff --git a/AUTHORS.txt b/AUTHORS.txt
index e0ae79c..b25ef5e 100644
--- a/AUTHORS.txt
+++ b/AUTHORS.txt
@@ -1,42 +1,46 @@
-
-projectM -- Milkdrop-esque visualisation SDK
-Copyright (C)2003-2007 projectM Team
-
-This library is free software; you can redistribute it and/or
-modify it under the terms of the GNU Lesser General Public
-License as published by the Free Software Foundation; either
-version 2.1 of the License, or (at your option) any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-Lesser General Public License for more details.
-
-You should have received a copy of the GNU Lesser General Public
-License along with this library; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-See 'LICENSE.txt' included within this release
-
-For the purposes of the copyright statement in the preamble of each source
-code file comprising projectM, the projectM team are:
-
-Carmelo Piccione
- Parser
- Evaluator
- Pulse Audio support (projectM-pulseaudio)
- Qt GUI (projectM-qt)
-
-Peter Sperl
- Beat Detection
- Rendering
- XMMS Support (projectM-xmms)
- libvisual Support (projectM-libvisual)
-
-Alligator Descartes
- Media Player Support (iTunes, Winamp, Windows Media Player)
- Test application frameworks (projectM-wxvis, projectM-sdlvis)
- DVD application (projectM-movie)
- Win32 screensaver (projectM-screensaver)
-
-Roger Dannenburg
- Advice & Support
+projectM -- Milkdrop-esque visualisation SDK
+Copyright (C)2003-2007 projectM Team
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+See 'LICENSE.txt' included within this release
+
+For the purposes of the copyright statement in the preamble of each source
+code file comprising projectM, the projectM team are:
+
+Carmelo Piccione
+ Parser
+ Evaluator
+ Pulse Audio support (projectM-pulseaudio)
+ Qt GUI (projectM-qt)
+
+Peter Sperl
+ Beat Detection
+ Rendering
+ XMMS Support (projectM-xmms)
+ libvisual Support (projectM-libvisual)
+
+Alligator Descartes
+ Media Player Support (iTunes, Winamp, Windows Media Player)
+ Test application frameworks (projectM-wxvis, projectM-sdlvis)
+ DVD application (projectM-movie)
+ Win32 screensaver (projectM-screensaver)
+
+Roger Dannenburg
+ Advice & Support
+
+Matthias Klumpp
+ CMake build system
+ Distro integration
+ Bug fixes
diff --git a/CMakeLists.txt b/CMakeLists.txt
index dcda29d..634b82f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,11 +1,5 @@
PROJECT(projectM-complete)
-cmake_minimum_required(VERSION 2.4.0)
-cmake_policy(SET CMP0005 OLD)
-
-if(COMMAND cmake_policy)
- cmake_policy(SET CMP0003 NEW)
-endif(COMMAND cmake_policy)
-
+cmake_minimum_required(VERSION 2.8.0)
include(src/cmake/CPack-projectM.cmake)
diff --git a/src/libprojectM/CMakeLists.txt b/src/libprojectM/CMakeLists.txt
index 7680ce8..c3dae7a 100644
--- a/src/libprojectM/CMakeLists.txt
+++ b/src/libprojectM/CMakeLists.txt
@@ -31,16 +31,10 @@
set(PROJECTM_ABI_LEVEL 2)
#
-SET(LIB_SUFFIX ""
- CACHE STRING "Define suffix of directory name (32/64)"
- FORCE)
-
-ADD_DEFINITIONS(-DLIB_SUFFIX="\\\"${LIB_SUFFIX}\\\"")
-
ADD_DEFINITIONS(-DCMAKE_INSTALL_PREFIX="\\\"${CMAKE_INSTALL_PREFIX}\\\"")
-SET(LIB_INSTALL_DIR "\${exec_prefix}/lib${LIB_SUFFIX}"
- CACHE PATH "The subdirectory relative to the install prefix where libraries will be installed (default is /lib${LIB_SUFFIX})"
+SET(LIB_INSTALL_DIR "\${exec_prefix}/lib"
+ CACHE PATH "The subdirectory relative to the install prefix where libraries will be installed (default is /lib)"
FORCE)
ADD_DEFINITIONS(-DSINGLE_PROCESS)
@@ -210,14 +204,26 @@
)
endif(BUILD_PROJECTM_STATIC)
+SET(projectM_FONT_MENU "${CMAKE_INSTALL_PREFIX}/${RESOURCE_PREFIX}/fonts/VeraMono.ttf" CACHE FILEPATH "Path to the default menu TrueType font")
+SET(projectM_FONT_TITLE "${CMAKE_INSTALL_PREFIX}/${RESOURCE_PREFIX}/fonts/Vera.ttf" CACHE FILEPATH "Path to the default title TrueType font")
+ADD_DEFINITIONS(-DprojectM_FONT_MENU="\\\"${projectM_FONT_MENU}\\\"")
+ADD_DEFINITIONS(-DprojectM_FONT_TITLE="\\\"${projectM_FONT_TITLE}\\\"")
CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/libprojectM.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/libprojectM.pc" @ONLY)
CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/config.inp.in" "${CMAKE_CURRENT_BINARY_DIR}/config.inp" @ONLY)
+IF(projectM_FONT_MENU MATCHES "${CMAKE_INSTALL_PREFIX}/${RESOURCE_PREFIX}/fonts/Vera.ttf" OR projectM_FONT_TITLE MATCHES "${CMAKE_INSTALL_PREFIX}/${RESOURCE_PREFIX}/fonts/Vera.ttf")
+ INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/fonts/VeraMono.ttf DESTINATION ${CMAKE_INSTALL_PREFIX}/${RESOURCE_PREFIX}/fonts)
+ENDIF(projectM_FONT_MENU MATCHES "${CMAKE_INSTALL_PREFIX}/${RESOURCE_PREFIX}/fonts/Vera.ttf" OR projectM_FONT_TITLE MATCHES "${CMAKE_INSTALL_PREFIX}/${RESOURCE_PREFIX}/fonts/Vera.ttf")
+
+IF(projectM_FONT_MENU MATCHES "${CMAKE_INSTALL_PREFIX}/${RESOURCE_PREFIX}/fonts/VeraMono.ttf" OR projectM_FONT_TITLE MATCHES "${CMAKE_INSTALL_PREFIX}/${RESOURCE_PREFIX}/fonts/VeraMono.ttf")
+ INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/fonts/VeraMono.ttf DESTINATION ${CMAKE_INSTALL_PREFIX}/${RESOURCE_PREFIX}/fonts)
+ENDIF(projectM_FONT_MENU MATCHES "${CMAKE_INSTALL_PREFIX}/${RESOURCE_PREFIX}/fonts/VeraMono.ttf" OR projectM_FONT_TITLE MATCHES "${CMAKE_INSTALL_PREFIX}/${RESOURCE_PREFIX}/fonts/VeraMono.ttf")
+
FILE(GLOB presets "presets/*.milk" "presets/*.prjm" "presets/*.tga")
INSTALL(FILES ${presets} DESTINATION ${CMAKE_INSTALL_PREFIX}/share/projectM/presets)
INSTALL(FILES ${Renderer_SOURCE_DIR}/projectM.cg ${Renderer_SOURCE_DIR}/blur.cg DESTINATION ${CMAKE_INSTALL_PREFIX}/share/projectM/shaders)
-INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/libprojectM.pc DESTINATION ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}/pkgconfig)
+INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/libprojectM.pc DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/pkgconfig)
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/config.inp DESTINATION ${CMAKE_INSTALL_PREFIX}/share/projectM)
INSTALL(FILES projectM.hpp event.h dlldefs.h fatal.h PCM.hpp Common.hpp DESTINATION include/libprojectM)
-INSTALL(TARGETS projectM DESTINATION lib${LIB_SUFFIX})
+INSTALL(TARGETS projectM DESTINATION lib)
diff --git a/src/libprojectM/MilkdropPresetFactory/BuiltinFuncs.cpp b/src/libprojectM/MilkdropPresetFactory/BuiltinFuncs.cpp
index a539154..0835f97 100644
--- a/src/libprojectM/MilkdropPresetFactory/BuiltinFuncs.cpp
+++ b/src/libprojectM/MilkdropPresetFactory/BuiltinFuncs.cpp
@@ -118,7 +118,8 @@
return PROJECTM_ERROR;
if (load_builtin_func ("fact", FuncWrappers::fact_wrapper, 1) < 0)
return PROJECTM_ERROR;
-
+ if (load_builtin_func("print", FuncWrappers::print_wrapper, 1) < 0)
+ return PROJECTM_ERROR;
return PROJECTM_SUCCESS;
}
diff --git a/src/libprojectM/MilkdropPresetFactory/BuiltinFuncs.hpp b/src/libprojectM/MilkdropPresetFactory/BuiltinFuncs.hpp
index 777eb5c..d74c166 100644
--- a/src/libprojectM/MilkdropPresetFactory/BuiltinFuncs.hpp
+++ b/src/libprojectM/MilkdropPresetFactory/BuiltinFuncs.hpp
@@ -103,6 +103,7 @@
{
if ((int)arg_list[0] == 0)
return arg_list[2];
+ //std::cout <<"NOT ZERO: " << arg_list[0] << std::endl;
return arg_list[1];
}
@@ -142,11 +143,8 @@
static float
sin_wrapper(float * arg_list)
{
- assert(arg_list);
- //return .5;
- float d = sinf(*arg_list);
+ const float d = sinf(*arg_list);
return d;
- //return (sin (arg_list[0]));
}
@@ -224,6 +222,27 @@
static inline float
+print_wrapper(float * arg_list)
+{
+ int len = 1;
+
+ for (int i = 0; i < len; i++)
+ {
+ std::cout << arg_list[i];
+ if (i != (len - 1))
+ std::cout << " ";
+ }
+
+ if (len > 0)
+ std::cout << std::endl;
+
+ if (len > 0)
+ return arg_list[0];
+ else
+ return 0;
+}
+
+static inline float
nchoosek_wrapper(float * arg_list)
{
unsigned long cnm = 1UL;
diff --git a/src/libprojectM/MilkdropPresetFactory/Expr.cpp b/src/libprojectM/MilkdropPresetFactory/Expr.cpp
index 877fc12..92e5985 100644
--- a/src/libprojectM/MilkdropPresetFactory/Expr.cpp
+++ b/src/libprojectM/MilkdropPresetFactory/Expr.cpp
@@ -27,13 +27,14 @@
#include <iostream>
#include "Eval.hpp"
-
float
GenExpr::eval_gen_expr ( int mesh_i, int mesh_j )
{
float l;
- assert ( item );
+ if (item == 0)
+ return EVAL_ERROR;
+
switch ( this->type )
{
case VAL_T:
diff --git a/src/libprojectM/Renderer/Renderer.cpp b/src/libprojectM/Renderer/Renderer.cpp
index 78c1501..41662d5 100644
--- a/src/libprojectM/Renderer/Renderer.cpp
+++ b/src/libprojectM/Renderer/Renderer.cpp
@@ -7,6 +7,7 @@
#include "TextureManager.hpp"
#include <iostream>
#include <algorithm>
+#include <sys/stat.h>
#include <cassert>
#include "omptl/omptl"
#include "omptl/omptl_algorithm"
@@ -61,7 +62,17 @@
this->beatDetect = beatDetect;
#ifdef USE_FTGL
- /**f Load the standard fonts */
+ /** Load the standard fonts if they do exist */
+ struct stat buffer;
+
+ if (stat( title_fontURL.c_str(), &buffer )) {
+ std::cout << "Could not open font file: " << title_fontURL << std::endl;
+ exit(1);
+ }
+ if (stat( menu_fontURL.c_str(), &buffer )) {
+ std::cout << "Could not open font file: " << menu_fontURL << std::endl;
+ exit(1);
+ }
title_font = new FTGLPixmapFont(title_fontURL.c_str());
other_font = new FTGLPixmapFont(menu_fontURL.c_str());
@@ -82,6 +93,7 @@
poly_font->Depth(20);
poly_font->FaceSize(72);
}
+
#endif /** USE_FTGL */
@@ -275,6 +287,17 @@
Renderer::RenderFrame(const Pipeline &pipeline, const PipelineContext &pipelineContext)
{
+#ifdef USE_FBO
+ // when not 'renderToTexture', the user may use its own couple FBO/texture
+ // so retrieve this external FBO if it exists, (0 means no FBO) and unbind it
+ GLint externalFBO = 0;
+ if (!renderTarget->renderToTexture)
+ {
+ glGetIntegerv(GL_FRAMEBUFFER_BINDING, &externalFBO);
+ glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
+ }
+#endif
+
SetupPass1(pipeline, pipelineContext);
#ifdef USE_CG
@@ -287,6 +310,15 @@
RenderItems(pipeline, pipelineContext);
FinishPass1();
+
+#ifdef USE_FBO
+ // when not 'renderToTexture', the user may use its own couple FBO/texture
+ // if it exists (0 means no external FBO)
+ // then rebind it just before calling the final pass: Pass2
+ if (!renderTarget->renderToTexture && externalFBO != 0)
+ glBindFramebufferEXT (GL_FRAMEBUFFER_EXT, externalFBO);
+#endif
+
Pass2(pipeline, pipelineContext);
}
diff --git a/src/libprojectM/config.inp.in b/src/libprojectM/config.inp.in
index 7cf9697..dcf9cf1 100644
--- a/src/libprojectM/config.inp.in
+++ b/src/libprojectM/config.inp.in
@@ -17,5 +17,5 @@
Aspect Correction = true # Custom Shape Aspect Correction
Preset Path = @CMAKE_INSTALL_PREFIX@/@RESOURCE_PREFIX@/presets # preset location
-Title Font = @CMAKE_INSTALL_PREFIX@/@RESOURCE_PREFIX@/fonts/Vera.ttf
-Menu Font = @CMAKE_INSTALL_PREFIX@/@RESOURCE_PREFIX@/fonts/VeraMono.ttf
+Title Font = @projectM_FONT_TITLE@
+Menu Font = @projectM_FONT_MENU@
diff --git a/src/libprojectM/libprojectM.pc.in b/src/libprojectM/libprojectM.pc.in
index 2a1fa2b..90de752 100644
--- a/src/libprojectM/libprojectM.pc.in
+++ b/src/libprojectM/libprojectM.pc.in
@@ -6,7 +6,7 @@
sysconfdir=@CMAKE_INSTALL_PREFIX@/@RESOURCE_PREFIX@
Name: libprojectM
-Version: 2.0.0
+Version: @PROJECTM_VERSION@
Description: projectM - OpenGL Milkdrop
Requires:
Libs: -L${libdir} -lprojectM
diff --git a/src/libprojectM/projectM.cpp b/src/libprojectM/projectM.cpp
index 147e078..952035f 100644
--- a/src/libprojectM/projectM.cpp
+++ b/src/libprojectM/projectM.cpp
@@ -220,16 +220,16 @@
#ifdef LINUX
_settings.titleFontURL = config.read<string>
- ("Title Font", CMAKE_INSTALL_PREFIX "/share/projectM/fonts/Vera.ttf");
+ ("Title Font", projectM_FONT_TITLE);
_settings.menuFontURL = config.read<string>
- ("Menu Font", CMAKE_INSTALL_PREFIX "/share/projectM/fonts/VeraMono.ttf");
+ ("Menu Font", projectM_FONT_MENU);
#endif
#ifdef WIN32
_settings.titleFontURL = config.read<string>
- ("Title Font", CMAKE_INSTALL_PREFIX "/share/projectM/fonts/Vera.ttf");
+ ("Title Font", projectM_FONT_TITLE);
_settings.menuFontURL = config.read<string>
- ("Menu Font", CMAKE_INSTALL_PREFIX "/share/projectM/fonts/VeraMono.ttf");
+ ("Menu Font", projectM_FONT_MENU);
#endif
diff --git a/src/projectM-libvisual/CMakeLists.txt b/src/projectM-libvisual/CMakeLists.txt
index ed2f576..28d8f90 100644
--- a/src/projectM-libvisual/CMakeLists.txt
+++ b/src/projectM-libvisual/CMakeLists.txt
@@ -1,19 +1,13 @@
PROJECT(projectM_libvisual)
cmake_minimum_required(VERSION 2.4.0)
- if(COMMAND cmake_policy)
- cmake_policy(SET CMP0003 NEW)
- endif(COMMAND cmake_policy)
-
INCLUDE(cmake/CPack-projectM.cmake)
-
ADD_LIBRARY(projectM_libvisual SHARED actor_projectM.cpp lvtoprojectM.h ConfigFile.h ConfigFile.cpp)
INCLUDE(FindPkgConfig.cmake)
cmake_policy(SET CMP0005 OLD)
-
FIND_PACKAGE(OpenGL)
FIND_PACKAGE(SDL)
@@ -30,19 +24,18 @@
pkg_search_module(LIBVISUAL REQUIRED libvisual-0.4)
if (LIBPROJECTM_FOUND)
-MESSAGE (STATUS "[projectM-libvisual] projectM detected.")
+ MESSAGE (STATUS "[projectM-libvisual] projectM detected.")
else(LIBPROJECTM_FOUND)
-MESSAGE (FATAL_ERROR "projectM NOT detected. Please install the projectM module or build from the top level projectM source directory.")
+ MESSAGE (FATAL_ERROR "projectM NOT detected. Please install the projectM module or build from the top level projectM source directory.")
endif(LIBPROJECTM_FOUND)
if(LIBVISUAL_FOUND)
-MESSAGE(STATUS "[projectM-libvisual] libvisual detected.")
+ MESSAGE(STATUS "[projectM-libvisual] libvisual detected.")
else(LIBVISUAL_FOUND)
-MESSAGE(FATAL_ERROR "libvisual 0.4 not found! Please visit http://libvisual.sf.net and download the module.")
+ MESSAGE(FATAL_ERROR "libvisual 0.4 not found! Please visit http://libvisual.sf.net and download the module.")
endif(LIBVISUAL_FOUND)
-
if (${CMAKE_PROJECT_NAME} MATCHES "projectM-complete")
set(PROJECTM_INCLUDE ${PROJECTM_ROOT_SOURCE_DIR}/libprojectM)
set(PROJECTM_LINK ${PROJECTM_ROOT_BINARY_DIR}/libprojectM)
diff --git a/src/projectM-pulseaudio/CMakeLists.txt b/src/projectM-pulseaudio/CMakeLists.txt
index 5f3e23b..2adc907 100644
--- a/src/projectM-pulseaudio/CMakeLists.txt
+++ b/src/projectM-pulseaudio/CMakeLists.txt
@@ -57,8 +57,8 @@
message(STATUS "FTGL_LIBRARY_DIRS = ${FTGL_LIBRARY_DIRS}")
include_directories(${FTGL_INCLUDE_DIRS})
link_directories(${FTGL_LIBRARY_DIRS})
-else (FTGL_FOUND)
- message(FATAL_ERROR "ERROR: ftgl library not detected. Please install it from ftgl.wiki.sourceforge.net")
+else (FTGL_FOUND USE)
+## message(FATAL_ERROR "ERROR: ftgl library not detected. Please install it from ftgl.wiki.sourceforge.net")
endif (FTGL_FOUND)
set(projectM_pulseaudio_SRCS
diff --git a/src/projectM-qt/CMakeLists.txt b/src/projectM-qt/CMakeLists.txt
index e73ab52..750d1ed 100644
--- a/src/projectM-qt/CMakeLists.txt
+++ b/src/projectM-qt/CMakeLists.txt
@@ -8,11 +8,11 @@
include_directories( ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR} )
include(FindPkgConfig.cmake)
-if (${CMAKE_PROJECT_NAME} MATCHES "PROJECTM_ROOT")
+if (${CMAKE_PROJECT_NAME} MATCHES "projectM-complete")
set(LIBPROJECTM_FOUND true)
-else(${CMAKE_PROJECT_NAME} MATCHES "PROJECTM_ROOT")
+else(${CMAKE_PROJECT_NAME} MATCHES "projectM-complete")
pkg_search_module(LIBPROJECTM REQUIRED libprojectM)
-endif(${CMAKE_PROJECT_NAME} MATCHES "PROJECTM_ROOT")
+endif(${CMAKE_PROJECT_NAME} MATCHES "projectM-complete")
OPTION(BUILD_PROJECTM_QT_STATIC "Build a static library of projectM-qt rather than the usual shared library format" OFF)
@@ -116,8 +116,8 @@
SET_TARGET_PROPERTIES(projectM-qt PROPERTIES VERSION ${PROJECTM_QT_VERSION} SOVERSION ${PROJECTM_QT_ABI_LEVEL})
if (${CMAKE_PROJECT_NAME} MATCHES "projectM-complete")
- set(PROJECTM_INCLUDE ${PROJECTM_ROOT_SOURCE_DIR}/libprojectM)
- set(PROJECTM_LINK ${PROJECTM_ROOT_BINARY_DIR}/libprojectM)
+ set(PROJECTM_INCLUDE ${projectM-complete_SOURCE_DIR}/libprojectM)
+ set(PROJECTM_LINK ${projectM-complete_BINARY_DIR}/libprojectM)
elseif (${CMAKE_PROJECT_NAME} MATCHES ${PROJECT_NAME})
set(PROJECTM_INCLUDE ${LIBPROJECTM_INCLUDEDIR}/libprojectM)
set(PROJECTM_LINK ${PROJECTM_LDFLAGS})
@@ -131,6 +131,6 @@
target_link_libraries(projectM-qt projectM GLEW GL ${QT_QTGUI_LIBRARIES} ${QT_QTOPENGL_LIBRARIES} ${QT_QTXML_LIBRARIES} ${QT_LIBRARIES})
install(FILES qprojectm_mainwindow.hpp DESTINATION include/libprojectM-qt)
-install(TARGETS projectM-qt DESTINATION lib${LIB_SUFFIX})
-install(FILES "${CMAKE_CURRENT_BINARY_DIR}/libprojectM-qt.pc" DESTINATION ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}/pkgconfig)
+install(TARGETS projectM-qt DESTINATION lib)
+install(FILES "${CMAKE_CURRENT_BINARY_DIR}/libprojectM-qt.pc" DESTINATION lib/pkgconfig)
install(FILES "images/icons/prjm16-transparent.svg" DESTINATION ${CMAKE_INSTALL_PREFIX}/share/pixmaps)
diff --git a/src/projectM-xmms/CMakeLists.txt b/src/projectM-xmms/CMakeLists.txt
index 453e3ca..4688f48 100644
--- a/src/projectM-xmms/CMakeLists.txt
+++ b/src/projectM-xmms/CMakeLists.txt
@@ -44,4 +44,4 @@
TARGET_LINK_LIBRARIES(xmms_projectM projectM xmms ${SDL_LIBRARY} ${GTK_LIBRARIES})
-INSTALL(TARGETS xmms_projectM DESTINATION ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}/xmms/Visualization )
+INSTALL(TARGETS xmms_projectM DESTINATION lib/xmms/Visualization )