Blob Blame History Raw
diff -rupN clementine-0.4.2.old/CMakeLists.txt clementine-0.4.2/CMakeLists.txt
--- clementine-0.4.2.old/CMakeLists.txt	2010-07-01 14:18:22.000000000 -0400
+++ clementine-0.4.2/CMakeLists.txt	2010-07-16 22:31:50.000000000 -0400
@@ -123,7 +123,16 @@ endif(NOT GETTEXT_XGETTEXT_EXECUTABLE)
 option(ENABLE_VISUALISATIONS "Use libprojectm visualisations" ON)
 option(BUNDLE_PROJECTM_PRESETS "Install Clementine's own copies of libprojectm presets - disable this if you want to use a system package instead" ON)
 if(ENABLE_VISUALISATIONS)
-  add_subdirectory(3rdparty/libprojectm)
+  # When/if upstream accepts our patches then these options can be used to link
+  # to system installed 3rdparty libraries instead.
+  option(USE_SYSTEM_PROJECTM "Don't set this option unless your system projectM library has been compiled with the Clementine patches in 3rdparty" OFF)
+  if(USE_SYSTEM_PROJECTM)
+    pkg_check_modules(LIBPROJECTM libprojectM)
+  else(USE_SYSTEM_PROJECTM)
+    add_subdirectory(3rdparty/libprojectm)
+    set(LIBPROJECTM_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/libprojectm)
+    set(LIBPROJECTM_LIBRARIES projectM)
+  endif(USE_SYSTEM_PROJECTM)
 endif(ENABLE_VISUALISATIONS)
 
 # Test whether libsqlite3 is available and if FTS3 is enabled in it
diff -rupN clementine-0.4.2.old/src/CMakeLists.txt clementine-0.4.2/src/CMakeLists.txt
--- clementine-0.4.2.old/src/CMakeLists.txt	2010-07-01 14:17:36.000000000 -0400
+++ clementine-0.4.2/src/CMakeLists.txt	2010-07-16 22:34:36.000000000 -0400
@@ -9,11 +9,11 @@ include_directories(../3rdparty/gmock/gt
 include_directories(../3rdparty/qtsingleapplication)
 include_directories(../3rdparty/qtiocompressor)
 include_directories(../3rdparty/qxt)
-include_directories(../3rdparty/libprojectm)
 
-include_directories(${GLIB_INCLUDE_DIRECTORIES})
-include_directories(${LIBXML_INCLUDE_DIRECTORIES})
-include_directories(${GOBJECT_INCLUDE_DIRECTORIES})
+include_directories(${GLIB_INCLUDE_DIRS})
+include_directories(${LIBXML_INCLUDE_DIRS})
+include_directories(${GOBJECT_INCLUDE_DIRS})
+include_directories(${LIBPROJECTM_INCLUDE_DIRS})
 
 cmake_policy(SET CMP0011 NEW)
 include(../cmake/AddEngine.cmake)
@@ -461,7 +461,7 @@ target_link_libraries(clementine_lib
 )
 
 if(ENABLE_VISUALISATIONS)
-  target_link_libraries(clementine_lib projectM)
+  target_link_libraries(clementine_lib ${LIBPROJECTM_LIBRARIES})
 endif(ENABLE_VISUALISATIONS)
 
 if (APPLE)
diff -rupN clementine-0.4.2.old/src/config.h.in clementine-0.4.2/src/config.h.in
--- clementine-0.4.2.old/src/config.h.in	2010-07-01 14:17:34.000000000 -0400
+++ clementine-0.4.2/src/config.h.in	2010-07-16 22:35:04.000000000 -0400
@@ -27,6 +27,7 @@
 
 #cmakedefine ENABLE_VISUALISATIONS
 #cmakedefine VISUALISATIONS_USE_INSTALL_PREFIX
+#cmakedefine USE_SYSTEM_PROJECTM
 
 #cmakedefine SNOW_LEOPARD
 #cmakedefine LEOPARD
diff -rupN clementine-0.4.2.old/src/visualisations/projectmpresetmodel.cpp clementine-0.4.2/src/visualisations/projectmpresetmodel.cpp
--- clementine-0.4.2.old/src/visualisations/projectmpresetmodel.cpp	2010-07-01 14:16:36.000000000 -0400
+++ clementine-0.4.2/src/visualisations/projectmpresetmodel.cpp	2010-07-16 22:36:19.000000000 -0400
@@ -14,10 +14,15 @@
    along with Clementine.  If not, see <http://www.gnu.org/licenses/>.
 */
 
+#include "config.h"
 #include "projectmpresetmodel.h"
 #include "projectmvisualisation.h"
 
-#include <projectM.hpp>
+#ifdef USE_SYSTEM_PROJECTM
+#  include <libprojectM/projectM.hpp>
+#else
+#  include "projectM.hpp"
+#endif
 
 #include <QtDebug>
 #include <QDir>
diff -rupN clementine-0.4.2.old/src/visualisations/projectmvisualisation.cpp clementine-0.4.2/src/visualisations/projectmvisualisation.cpp
--- clementine-0.4.2.old/src/visualisations/projectmvisualisation.cpp	2010-07-01 14:16:36.000000000 -0400
+++ clementine-0.4.2/src/visualisations/projectmvisualisation.cpp	2010-07-16 22:37:32.000000000 -0400
@@ -30,7 +30,11 @@
 #include <QFile>
 #include <QDir>
 
-#include <projectM.hpp>
+#ifdef USE_SYSTEM_PROJECTM
+#  include <libprojectM/projectM.hpp>
+#else
+#  include "projectM.hpp"
+#endif
 
 #ifdef Q_OS_MAC
 #  include "core/mac_startup.h"
diff -rupN clementine-0.4.2.old/src/visualisations/visualisationselector.cpp clementine-0.4.2/src/visualisations/visualisationselector.cpp
--- clementine-0.4.2.old/src/visualisations/visualisationselector.cpp	2010-07-01 14:16:36.000000000 -0400
+++ clementine-0.4.2/src/visualisations/visualisationselector.cpp	2010-07-16 22:38:00.000000000 -0400
@@ -14,6 +14,7 @@
    along with Clementine.  If not, see <http://www.gnu.org/licenses/>.
 */
 
+#include "config.h"
 #include "projectmpresetmodel.h"
 #include "projectmvisualisation.h"
 #include "visualisationselector.h"
@@ -21,7 +22,11 @@
 
 #include <QPushButton>
 
-#include <projectM.hpp>
+#ifdef USE_SYSTEM_PROJECTM
+#  include <libprojectM/projectM.hpp>
+#else
+#  include "projectM.hpp"
+#endif
 
 VisualisationSelector::VisualisationSelector(QWidget *parent)
   : QDialog(parent),