summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2011-11-26 13:19:22 -0600
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2011-11-26 13:19:22 -0600
commit0710d08800aa69ca9579416a3d4bb6220593f229 (patch)
tree29a1cf8936b04f9cc4be5a8618648ce99cec2cc8
parent32e75dd020843a7a3dbb7d2df4ba6f0f234a69c5 (diff)
downloadrosegarden-0710d08800aa69ca9579416a3d4bb6220593f229.tar.gz
rosegarden-0710d08800aa69ca9579416a3d4bb6220593f229.zip
Initial attempt at migration to standard TDE CMake build system
-rw-r--r--CMakeLists.txt432
-rw-r--r--CMakeLists.txt.orig399
-rw-r--r--ConfigureChecks.cmake217
-rw-r--r--config.h.cmake5
-rw-r--r--data/CMakeLists.txt16
-rw-r--r--doc/CMakeLists.txt12
-rw-r--r--doc/de/.gitignore (renamed from docs/de/.gitignore)0
-rw-r--r--doc/en/CMakeLists.txt12
-rw-r--r--doc/en/headers-and-unicode-lyrics.png (renamed from docs/en/headers-and-unicode-lyrics.png)bin17800 -> 17800 bytes
-rw-r--r--doc/en/index.docbook (renamed from docs/en/index.docbook)0
-rw-r--r--doc/en/rg-audiofilemanager.png (renamed from docs/en/rg-audiofilemanager.png)bin24939 -> 24939 bytes
-rw-r--r--doc/en/rg-audiomixer.png (renamed from docs/en/rg-audiomixer.png)bin19108 -> 19108 bytes
-rw-r--r--doc/en/rg-bankeditor.png (renamed from docs/en/rg-bankeditor.png)bin45639 -> 45639 bytes
-rw-r--r--doc/en/rg-button-bar-time.png (renamed from docs/en/rg-button-bar-time.png)bin141 -> 141 bytes
-rw-r--r--doc/en/rg-button-from-end.png (renamed from docs/en/rg-button-from-end.png)bin209 -> 209 bytes
-rw-r--r--doc/en/rg-clefdialog.png (renamed from docs/en/rg-clefdialog.png)bin8510 -> 8510 bytes
-rw-r--r--doc/en/rg-coda.png (renamed from docs/en/rg-coda.png)bin495 -> 495 bytes
-rw-r--r--doc/en/rg-colours.png (renamed from docs/en/rg-colours.png)bin18181 -> 18181 bytes
-rw-r--r--doc/en/rg-cursors.png (renamed from docs/en/rg-cursors.png)bin64750 -> 64750 bytes
-rw-r--r--doc/en/rg-devicemanager.png (renamed from docs/en/rg-devicemanager.png)bin21216 -> 21216 bytes
-rw-r--r--doc/en/rg-eraser.png (renamed from docs/en/rg-eraser.png)bin339 -> 339 bytes
-rw-r--r--doc/en/rg-eventfilter.png (renamed from docs/en/rg-eventfilter.png)bin18877 -> 18877 bytes
-rw-r--r--doc/en/rg-eventlisteditor.png (renamed from docs/en/rg-eventlisteditor.png)bin27310 -> 27310 bytes
-rw-r--r--doc/en/rg-gridquantizer.png (renamed from docs/en/rg-gridquantizer.png)bin21058 -> 21058 bytes
-rw-r--r--doc/en/rg-guitarchorddialog.png (renamed from docs/en/rg-guitarchorddialog.png)bin24359 -> 24359 bytes
-rw-r--r--doc/en/rg-guitarchordeditordialog.png (renamed from docs/en/rg-guitarchordeditordialog.png)bin12376 -> 12376 bytes
-rw-r--r--doc/en/rg-ipb-audio.png (renamed from docs/en/rg-ipb-audio.png)bin7232 -> 7232 bytes
-rw-r--r--doc/en/rg-ipb-midi.png (renamed from docs/en/rg-ipb-midi.png)bin16274 -> 16274 bytes
-rw-r--r--doc/en/rg-ipb-synth.png (renamed from docs/en/rg-ipb-synth.png)bin7320 -> 7320 bytes
-rw-r--r--doc/en/rg-keysigdialog.png (renamed from docs/en/rg-keysigdialog.png)bin45792 -> 45792 bytes
-rw-r--r--doc/en/rg-loadpreset.png (renamed from docs/en/rg-loadpreset.png)bin31466 -> 31466 bytes
-rw-r--r--doc/en/rg-mainwindow.png (renamed from docs/en/rg-mainwindow.png)bin70700 -> 70700 bytes
-rw-r--r--doc/en/rg-markerloop.png (renamed from docs/en/rg-markerloop.png)bin1318 -> 1318 bytes
-rw-r--r--doc/en/rg-matrixview.png (renamed from docs/en/rg-matrixview.png)bin116002 -> 116002 bytes
-rw-r--r--doc/en/rg-metronome.png (renamed from docs/en/rg-metronome.png)bin12310 -> 12310 bytes
-rw-r--r--doc/en/rg-midifilter.png (renamed from docs/en/rg-midifilter.png)bin15349 -> 15349 bytes
-rw-r--r--doc/en/rg-midimixer.png (renamed from docs/en/rg-midimixer.png)bin38207 -> 38207 bytes
-rw-r--r--doc/en/rg-move.png (renamed from docs/en/rg-move.png)bin235 -> 235 bytes
-rw-r--r--doc/en/rg-notation-toolbars.png (renamed from docs/en/rg-notation-toolbars.png)bin5417 -> 5417 bytes
-rw-r--r--doc/en/rg-notationquantizer.png (renamed from docs/en/rg-notationquantizer.png)bin27527 -> 27527 bytes
-rw-r--r--doc/en/rg-notationtools.png (renamed from docs/en/rg-notationtools.png)bin2360 -> 2360 bytes
-rw-r--r--doc/en/rg-notationview-multipage.png (renamed from docs/en/rg-notationview-multipage.png)bin109121 -> 109121 bytes
-rw-r--r--doc/en/rg-notationview.png (renamed from docs/en/rg-notationview.png)bin58931 -> 58931 bytes
-rw-r--r--doc/en/rg-pastedialog.png (renamed from docs/en/rg-pastedialog.png)bin10594 -> 10594 bytes
-rw-r--r--doc/en/rg-pencil.png (renamed from docs/en/rg-pencil.png)bin361 -> 361 bytes
-rw-r--r--doc/en/rg-percussionmatrix.png (renamed from docs/en/rg-percussionmatrix.png)bin158608 -> 158608 bytes
-rw-r--r--doc/en/rg-plugin-dialog.png (renamed from docs/en/rg-plugin-dialog.png)bin14476 -> 14476 bytes
-rw-r--r--doc/en/rg-pluginbuttons.png (renamed from docs/en/rg-pluginbuttons.png)bin5380 -> 5380 bytes
-rw-r--r--doc/en/rg-plugineditorbutton.png (renamed from docs/en/rg-plugineditorbutton.png)bin7684 -> 7684 bytes
-rwxr-xr-xdoc/en/rg-quickmarker.png (renamed from docs/en/rg-quickmarker.png)bin643 -> 643 bytes
-rw-r--r--doc/en/rg-rawnoteruler.png (renamed from docs/en/rg-rawnoteruler.png)bin15998 -> 15998 bytes
-rw-r--r--doc/en/rg-resize.png (renamed from docs/en/rg-resize.png)bin198 -> 198 bytes
-rw-r--r--doc/en/rg-segmentparameterbox.png (renamed from docs/en/rg-segmentparameterbox.png)bin7419 -> 7419 bytes
-rw-r--r--doc/en/rg-segno.png (renamed from docs/en/rg-segno.png)bin543 -> 543 bytes
-rw-r--r--doc/en/rg-select.png (renamed from docs/en/rg-select.png)bin258 -> 258 bytes
-rw-r--r--doc/en/rg-split.png (renamed from docs/en/rg-split.png)bin213 -> 213 bytes
-rw-r--r--doc/en/rg-synthpluginbuttons.png (renamed from docs/en/rg-synthpluginbuttons.png)bin5331 -> 5331 bytes
-rw-r--r--doc/en/rg-tempodialog.png (renamed from docs/en/rg-tempodialog.png)bin35751 -> 35751 bytes
-rw-r--r--doc/en/rg-temporuler.png (renamed from docs/en/rg-temporuler.png)bin1736 -> 1736 bytes
-rw-r--r--doc/en/rg-text-cursor.png (renamed from docs/en/rg-text-cursor.png)bin515 -> 515 bytes
-rw-r--r--doc/en/rg-textdialog.png (renamed from docs/en/rg-textdialog.png)bin13508 -> 13508 bytes
-rw-r--r--doc/en/rg-timesigdialog.png (renamed from docs/en/rg-timesigdialog.png)bin16190 -> 16190 bytes
-rw-r--r--doc/en/rg-trackbutton-instrumentmenu.png (renamed from docs/en/rg-trackbutton-instrumentmenu.png)bin19046 -> 19046 bytes
-rw-r--r--doc/en/rg-trackbutton-instruments.png (renamed from docs/en/rg-trackbutton-instruments.png)bin13486 -> 13486 bytes
-rw-r--r--doc/en/rg-trackbutton-labels.png (renamed from docs/en/rg-trackbutton-labels.png)bin10851 -> 10851 bytes
-rw-r--r--doc/en/rg-trackbuttons.png (renamed from docs/en/rg-trackbuttons.png)bin3986 -> 3986 bytes
-rw-r--r--doc/en/rg-trackeditor.png (renamed from docs/en/rg-trackeditor.png)bin26457 -> 26457 bytes
-rw-r--r--doc/en/rg-trackparameterbox.png (renamed from docs/en/rg-trackparameterbox.png)bin44313 -> 44313 bytes
-rw-r--r--doc/en/rg-transport.png (renamed from docs/en/rg-transport.png)bin16050 -> 16050 bytes
-rw-r--r--doc/en/rg-triggersegment.png (renamed from docs/en/rg-triggersegment.png)bin8787 -> 8787 bytes
-rw-r--r--doc/en/rg-tupletdialog.png (renamed from docs/en/rg-tupletdialog.png)bin11568 -> 11568 bytes
-rw-r--r--doc/en/rg-useornament.png (renamed from docs/en/rg-useornament.png)bin12898 -> 12898 bytes
-rw-r--r--doc/en/tips (renamed from docs/en/tips)0
-rw-r--r--doc/en/transpose-by-interval.png (renamed from docs/en/transpose-by-interval.png)bin14436 -> 14436 bytes
-rw-r--r--doc/es/CMakeLists.txt12
-rw-r--r--doc/es/index.docbook (renamed from docs/es/index.docbook)0
-rw-r--r--doc/ja/CMakeLists.txt12
-rw-r--r--doc/ja/index.docbook (renamed from docs/ja/index.docbook)0
-rw-r--r--doc/sv/CMakeLists.txt12
-rw-r--r--doc/sv/index.docbook (renamed from docs/sv/index.docbook)0
-rw-r--r--doc/sv/rg-audiofilemanager.png (renamed from docs/sv/rg-audiofilemanager.png)bin21744 -> 21744 bytes
-rw-r--r--doc/sv/rg-audiomixer.png (renamed from docs/sv/rg-audiomixer.png)bin34307 -> 34307 bytes
-rw-r--r--doc/sv/rg-bankeditor.png (renamed from docs/sv/rg-bankeditor.png)bin23851 -> 23851 bytes
-rw-r--r--doc/sv/rg-clefdialog.png (renamed from docs/sv/rg-clefdialog.png)bin6634 -> 6634 bytes
-rw-r--r--doc/sv/rg-colours.png (renamed from docs/sv/rg-colours.png)bin24157 -> 24157 bytes
-rw-r--r--doc/sv/rg-devicemanager.png (renamed from docs/sv/rg-devicemanager.png)bin57989 -> 57989 bytes
-rw-r--r--doc/sv/rg-eventlisteditor.png (renamed from docs/sv/rg-eventlisteditor.png)bin20685 -> 20685 bytes
-rw-r--r--doc/sv/rg-gridquantizer.png (renamed from docs/sv/rg-gridquantizer.png)bin15465 -> 15465 bytes
-rw-r--r--doc/sv/rg-ipb-audio.png (renamed from docs/sv/rg-ipb-audio.png)bin2931 -> 2931 bytes
-rw-r--r--doc/sv/rg-ipb-midi.png (renamed from docs/sv/rg-ipb-midi.png)bin22193 -> 22193 bytes
-rw-r--r--doc/sv/rg-ipb-synth.png (renamed from docs/sv/rg-ipb-synth.png)bin2780 -> 2780 bytes
-rw-r--r--doc/sv/rg-keysigdialog.png (renamed from docs/sv/rg-keysigdialog.png)bin13593 -> 13593 bytes
-rw-r--r--doc/sv/rg-mainwindow.png (renamed from docs/sv/rg-mainwindow.png)bin44924 -> 44924 bytes
-rw-r--r--doc/sv/rg-matrixview.png (renamed from docs/sv/rg-matrixview.png)bin71224 -> 71224 bytes
-rw-r--r--doc/sv/rg-metronome.png (renamed from docs/sv/rg-metronome.png)bin6977 -> 6977 bytes
-rw-r--r--doc/sv/rg-midifilter.png (renamed from docs/sv/rg-midifilter.png)bin11976 -> 11976 bytes
-rw-r--r--doc/sv/rg-midimixer.png (renamed from docs/sv/rg-midimixer.png)bin24240 -> 24240 bytes
-rw-r--r--doc/sv/rg-notationquantizer.png (renamed from docs/sv/rg-notationquantizer.png)bin23469 -> 23469 bytes
-rw-r--r--doc/sv/rg-notationview-multipage.png (renamed from docs/sv/rg-notationview-multipage.png)bin41203 -> 41203 bytes
-rw-r--r--doc/sv/rg-notationview.png (renamed from docs/sv/rg-notationview.png)bin35396 -> 35396 bytes
-rw-r--r--doc/sv/rg-pastedialog.png (renamed from docs/sv/rg-pastedialog.png)bin4809 -> 4809 bytes
-rw-r--r--doc/sv/rg-plugin-dialog.png (renamed from docs/sv/rg-plugin-dialog.png)bin7220 -> 7220 bytes
-rw-r--r--doc/sv/rg-pluginbuttons.png (renamed from docs/sv/rg-pluginbuttons.png)bin2353 -> 2353 bytes
-rw-r--r--doc/sv/rg-plugineditorbutton.png (renamed from docs/sv/rg-plugineditorbutton.png)bin13500 -> 13500 bytes
-rw-r--r--doc/sv/rg-segmentparameterbox.png (renamed from docs/sv/rg-segmentparameterbox.png)bin4138 -> 4138 bytes
-rw-r--r--doc/sv/rg-synthpluginbuttons.png (renamed from docs/sv/rg-synthpluginbuttons.png)bin2109 -> 2109 bytes
-rw-r--r--doc/sv/rg-tempodialog.png (renamed from docs/sv/rg-tempodialog.png)bin17555 -> 17555 bytes
-rw-r--r--doc/sv/rg-timesigdialog.png (renamed from docs/sv/rg-timesigdialog.png)bin10171 -> 10171 bytes
-rw-r--r--doc/sv/rg-trackbutton-instruments.png (renamed from docs/sv/rg-trackbutton-instruments.png)bin2477 -> 2477 bytes
-rw-r--r--doc/sv/rg-trackbutton-labels.png (renamed from docs/sv/rg-trackbutton-labels.png)bin2410 -> 2410 bytes
-rw-r--r--doc/sv/rg-trackeditor.png (renamed from docs/sv/rg-trackeditor.png)bin45816 -> 45816 bytes
-rw-r--r--doc/sv/rg-transport.png (renamed from docs/sv/rg-transport.png)bin15432 -> 15432 bytes
-rw-r--r--doc/sv/rg-tupletdialog.png (renamed from docs/sv/rg-tupletdialog.png)bin9132 -> 9132 bytes
-rw-r--r--doc/sv/rosegarden.po (renamed from docs/sv/rosegarden.po)0
-rw-r--r--docs/CMakeLists.txt4
-rw-r--r--po/CMakeLists.txt38
-rw-r--r--po/ca/rosegarden.po (renamed from po/ca.po)0
-rw-r--r--po/cs/rosegarden.po (renamed from po/cs.po)0
-rw-r--r--po/cy/rosegarden.po (renamed from po/cy.po)0
-rw-r--r--po/de/rosegarden.po (renamed from po/de.po)0
-rw-r--r--po/en/rosegarden.po (renamed from po/en.po)0
-rw-r--r--po/en_GB/rosegarden.po (renamed from po/en_GB.po)0
-rw-r--r--po/es/rosegarden.po (renamed from po/es.po)0
-rw-r--r--po/et/rosegarden.po (renamed from po/et.po)0
-rw-r--r--po/eu/rosegarden.po (renamed from po/eu.po)0
-rw-r--r--po/fi/rosegarden.po (renamed from po/fi.po)0
-rw-r--r--po/fr/rosegarden.po (renamed from po/fr.po)0
-rw-r--r--po/it/rosegarden.po (renamed from po/it.po)0
-rw-r--r--po/ja/rosegarden.po (renamed from po/ja.po)0
-rwxr-xr-xpo/messages.sh101
-rw-r--r--po/nl/rosegarden.po (renamed from po/nl.po)0
-rw-r--r--po/pl/rosegarden.po (renamed from po/pl.po)0
-rw-r--r--po/ru/rosegarden.po (renamed from po/ru.po)0
-rw-r--r--po/sv/rosegarden.po (renamed from po/sv.po)0
-rwxr-xr-xpo/xgettextbin203776 -> 0 bytes
-rw-r--r--po/zh_CN/rosegarden.po (renamed from po/zh_CN.po)0
-rw-r--r--src/CMakeLists.txt299
137 files changed, 897 insertions, 674 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 719ca20..c81549b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,56 +1,40 @@
-# Rosegarden
-# A MIDI and audio sequencer and musical notation editor.
+#################################################
#
-# This program is Copyright 2000-2008
-# Guillaume Laurent <glaurent@telegraph-road.org>,
-# Chris Cannam <cannam@all-day-breakfast.com>,
-# Richard Bown <richard.bown@ferventsoftware.com>
+# (C) 2011 Timothy Pearson
+# kb9vqf (AT) pearsoncomputing.net
#
-# The moral rights of Guillaume Laurent, Chris Cannam, and Richard
-# Bown to claim authorship of this work have been asserted.
+# Improvements and feedback are welcome
#
-# This file is Copyright 2006-2008
-# Pedro Lopez-Cabanillas <plcl@users.sourceforge.net>
+# This file is released under GPL >= 2
#
-# Other copyrights also apply to some parts of this work. Please
-# see the AUTHORS file and individual file headers for details.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of the
-# License, or (at your option) any later version. See the file
-# COPYING included with this distribution for more information.
+#################################################
+
+cmake_minimum_required( VERSION 2.8 )
+
+
+##### general package setup #####################
# The name of our project is "ROSEGARDEN". CMakeLists files in this project can
-# refer to the root source directory of the project as ${ROSEGARDEN_SOURCE_DIR}
+# refer to the root source directory of the project as ${ROSEGARDEN_SOURCE_DIR}
# and to the root binary directory of the project as ${ROSEGARDEN_BINARY_DIR}
PROJECT(ROSEGARDEN)
-# CMake supports KDE checks since this version number
-CMAKE_MINIMUM_REQUIRED(VERSION 2.4.2)
-# Show full commands and messages. It generates a lot of console output.
-# It is necessary for Eclipse warning/error parser,
-# but it can be enabled anyway with "make VERBOSE=1"
-SET(CMAKE_VERBOSE_MAKEFILE OFF)
+##### include essential cmake modules ###########
-# Seems that relative paths break some scripts. Don't set it ON
-SET(CMAKE_USE_RELATIVE_PATHS OFF)
+include( CheckCXXSourceCompiles )
+include( CheckFunctionExists )
+include( CheckIncludeFileCXX )
+include( CheckLibraryExists )
+include( CheckStructHasMember )
+include( CheckSymbolExists )
+include( CheckTypeSize )
+include( FindPkgConfig )
-# Rebuild the object files if the rules have changed, but not the actual source
-# files or headers (e.g. if you changed the some compiler switches)
-SET(CMAKE_SKIP_RULE_DEPENDENCY OFF)
-
-# Misc settings
-SET(CMAKE_COLOR_MAKEFILE ON)
-SET(CMAKE_INCLUDE_CURRENT_DIR ON)
-SET(CMAKE_BUILD_WITH_INSTALL_RPATH ON)
-
-# Additional CMake modules for 3rd party library checks reside here
-SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake_admin")
+##### set up versioning #########################
# Mark as advanced
-MARK_AS_ADVANCED(EXECUTABLE_OUTPUT_PATH
+MARK_AS_ADVANCED(EXECUTABLE_OUTPUT_PATH
LIBRARY_OUTPUT_PATH
CMAKE_BACKWARDS_COMPATIBILITY)
@@ -66,15 +50,32 @@ IF(VERSION_SUFFIX)
ENDIF(VERSION_SUFFIX)
ADD_DEFINITIONS(-D'VERSION="${VERSION}"')
-# User options
-OPTION(WANT_DEBUG "Include debug support" OFF)
-OPTION(WANT_FULLDBG "Full debug support (BIG executables!)" OFF)
-OPTION(WANT_SOUND "Include Sound support" ON)
-OPTION(WANT_JACK "Include Jack (Jack Audio Connection Kit) support" ON)
-OPTION(WANT_DSSI "Include DSSI support" ON)
-OPTION(WANT_LIRC "Include LIRC (Linux Infrared Remote Control) support" OFF)
-OPTION(WANT_PCH "Use precompiled headers" OFF)
-OPTION(WANT_TEST "Perform unit tests" OFF)
+
+##### include our cmake modules #################
+
+set( CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules" )
+include( TDEMacros )
+
+
+##### setup install paths #######################
+
+include( TDESetupPaths )
+tde_setup_paths( )
+
+
+##### user requested modules ####################
+
+option( BUILD_ALL "Build all" OFF )
+option( BUILD_DOC "Build doc" ${BUILD_ALL} )
+option( BUILD_TRANSLATIONS "Build translations" ${BUILD_ALL} )
+option( WANT_DEBUG "Include debug support" OFF )
+option( WANT_FULLDBG "Full debug support (BIG executables!)" OFF )
+option( WANT_SOUND "Include Sound support" ${BUILD_ALL} )
+option( WANT_JACK "Include Jack (Jack Audio Connection Kit) support" ${BUILD_ALL} )
+option( WANT_DSSI "Include DSSI support" ${BUILD_ALL} )
+option( WANT_LIRC "Include LIRC (Linux Infrared Remote Control) support" OFF )
+option( WANT_PCH "Use precompiled headers" OFF )
+option( WANT_TEST "Perform unit tests" OFF )
IF(WANT_TEST)
ENABLE_TESTING()
@@ -86,314 +87,37 @@ IF(NOT WANT_SOUND)
ADD_DEFINITIONS(-DNO_SOUND)
ENDIF(NOT WANT_SOUND)
-# Check for KDE3
-FIND_PACKAGE(KDE3 REQUIRED QUIET)
-IF(QT_FOUND)
- ADD_DEFINITIONS(${QT_DEFINITIONS})
- MESSAGE(STATUS "Found Qt3 (version ${qt_version_str})")
- #MESSAGE("QT_LIBRARIES: ${QT_LIBRARIES}")
-ELSE(QT_FOUND)
- MESSAGE(STATUS_ERROR "Qt3 package not found--assuming TQt4")
- SET(QT_INCLUDE_DIR "/usr/include/qt4")
-ENDIF(QT_FOUND)
-SET(QT_UIC_EXECUTABLE "/usr/bin/uic-tqt")
-SET(QT_MOC_EXECUTABLE "/usr/bin/tmoc")
-IF(KDE3_FOUND)
- ADD_DEFINITIONS(${KDE3_DEFINITIONS})
- #MESSAGE("KDE3PREFIX: ${KDE3PREFIX}")
- KDE3_PRINT_RESULTS()
- #MESSAGE("QT_AND_TDECORE_LIBS: ${QT_AND_TDECORE_LIBS}")
-ELSE(KDE3_FOUND)
- MESSAGE(FATAL_ERROR "KDE3 Not found")
-ENDIF(KDE3_FOUND)
-
-# Clear the flags set by FindKDE3
-SET(CMAKE_CXX_FLAGS "-I/usr/include/tqt -include tqt.h -DTQT_THREAD_SUPPORT")
-MARK_AS_ADVANCED(KDE3_BUILD_TESTS
- KDE3_ENABLE_FINAL
- KDE3_DCOPIDL_EXECUTABLE
- KDE3_DCOPIDL2CPP_EXECUTABLE
- KDE3_INCLUDE_DIR
- KDE3_KCFGC_EXECUTABLE
- KDE3_TDECORE_LIBRARY
- KDECONFIG_EXECUTABLE )
-
-# Provide the KDE3 prefix as a default prefix (if the user has CMake 2.4.4)
-IF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
- SET(CMAKE_INSTALL_PREFIX ${KDE3PREFIX} CACHE PATH
- "Install path prefix, prepended onto install directories." FORCE)
-ENDIF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
-
-# Check for PKG-CONFIG
-FIND_PACKAGE(PkgConfig REQUIRED)
-IF(PKG_CONFIG_FOUND)
- MESSAGE(STATUS "Program pkg-config found (${PKG_CONFIG_EXECUTABLE})")
-ELSE(PKG_CONFIG_FOUND)
- MESSAGE(FATAL_ERROR "Program pkg-config not found")
-ENDIF(PKG_CONFIG_FOUND)
-
-# Initialize some variables
-SET(HAVE_XFT FALSE)
-SET(HAVE_ALSA FALSE)
-SET(HAVE_JACK FALSE)
-SET(HAVE_DSSI FALSE)
-SET(HAVE_LIBLO FALSE)
-SET(HAVE_LIBLRDF FALSE)
-SET(HAVE_LADSPA FALSE)
-SET(HAVE_LIRC FALSE)
-SET(HAVE_FFTW3F FALSE)
-
-# Check for Xft
-PKG_CHECK_MODULES(XFT xft>=2.1.0)
-IF(XFT_FOUND)
- ADD_DEFINITIONS(-DHAVE_XFT)
- SET(HAVE_XFT TRUE)
- SET(XFT_LIBS ${XFT_LIBRARIES})
- #MESSAGE("XFT_LIBS: ${XFT_LIBS}")
- LIST(APPEND XFT_LIB_DIR ${XFT_LIBRARY_DIRS} ${XFT_LIBDIR})
- #MESSAGE("XFT_LIB_DIR: ${XFT_LIB_DIR}")
- LIST(APPEND XFT_INC_DIR ${XFT_INCLUDE_DIRS} ${XFT_INCLUDEDIR})
- #MESSAGE("XFT_INC_DIR: ${XFT_INC_DIR}")
-ENDIF(XFT_FOUND)
-
-IF(WANT_SOUND)
-
- # Check for ALSA 1.0
- PKG_CHECK_MODULES(ALSA REQUIRED alsa>=1.0)
- IF(ALSA_FOUND)
- SET(HAVE_ALSA TRUE)
- ADD_DEFINITIONS(-DHAVE_ALSA)
- SET(ALSA_LIBS ${ALSA_LIBRARIES})
- #MESSAGE("ALSA_LIBS: ${ALSA_LIBS}")
- LIST(APPEND ALSA_LIB_DIR ${ALSA_LIBRARY_DIRS} ${ALSA_LIBDIR} )
- #MESSAGE("ALSA_LIB_DIR: ${ALSA_LIB_DIR}")
- LIST(APPEND ALSA_INC_DIR ${ALSA_INCLUDE_DIRS} ${ALSA_INCLUDEDIR})
- #MESSAGE("ALSA_INC_DIR: ${ALSA_INC_DIR}")
- ELSE(ALSA_FOUND)
- MESSAGE(FATAL_ERROR "Please install the required package. Aborting")
- ENDIF(ALSA_FOUND)
-
- IF(WANT_JACK)
- PKG_CHECK_MODULES(JACK jack>=0.77)
- IF(JACK_FOUND)
- ADD_DEFINITIONS(-DHAVE_LIBJACK)
- SET(HAVE_JACK TRUE)
- SET(JACK_LIBS ${JACK_LIBRARIES})
- #MESSAGE("JACK_LIBS: ${JACK_LIBS}")
- LIST(APPEND JACK_LIB_DIR ${JACK_LIBDIR} ${JACK_LIBRARY_DIRS})
- #MESSAGE("JACK_LIB_DIR: ${JACK_LIB_DIR}")
- LIST(APPEND JACK_INC_DIR ${JACK_INCLUDEDIR} ${JACK_INCLUDE_DIRS})
- #MESSAGE("JACK_INC_DIR: ${JACK_INC_DIR}")
- ENDIF(JACK_FOUND)
- ENDIF(WANT_JACK)
-
- IF(WANT_DSSI)
- PKG_CHECK_MODULES(DSSI dssi>=0.4)
- IF(DSSI_FOUND)
- ADD_DEFINITIONS(-DHAVE_DSSI)
- SET(HAVE_DSSI TRUE)
- LIST(APPEND DSSI_INC_DIR ${DSSI_INCLUDE_DIRS} ${DSSI_INCLUDEDIR})
- #MESSAGE("DSSI_INC_DIR: ${DSSI_INC_DIR}")
- ENDIF(DSSI_FOUND)
- ENDIF(WANT_DSSI)
-
- PKG_CHECK_MODULES(LIBLO liblo>=0.7)
- IF(LIBLO_FOUND)
- ADD_DEFINITIONS(-DHAVE_LIBLO)
- SET(HAVE_LIBLO TRUE)
- SET(LIBLO_LIBS ${LIBLO_LIBRARIES})
- #MESSAGE("LIBLO_LIBS: ${LIBLO_LIBS}")
- LIST(APPEND LIBLO_LIB_DIR ${LIBLO_LIBDIR} ${LIBLO_LIBRARY_DIRS})
- #MESSAGE("LIBLO_LIB_DIR: ${LIBLO_LIB_DIR}")
- LIST(APPEND LIBLO_INC_DIR ${LIBLO_INCLUDEDIR} ${LIBLO_INCLUDE_DIRS})
- #MESSAGE("LIBLO_INC_DIR: ${LIBLO_INC_DIR}")
- ENDIF(LIBLO_FOUND)
-
- PKG_CHECK_MODULES(LRDF lrdf>=0.3)
- IF(LRDF_FOUND)
- SET(HAVE_LIBLRDF TRUE)
- ADD_DEFINITIONS(-DHAVE_LIBLRDF)
- SET(LRDF_LIBS ${LRDF_LIBRARIES})
- #MESSAGE("LRDF_LIBS: ${LRDF_LIBS}")
- LIST(APPEND LRDF_LIB_DIR ${LRDF_LIBDIR} ${LRDF_LIBRARY_DIRS})
- #MESSAGE("LRDF_LIB_DIR: ${LRDF_LIB_DIR}")
- LIST(APPEND LRDF_INC_DIR ${LRDF_INCLUDEDIR} ${LRDF_INCLUDE_DIRS})
- #MESSAGE("LRDF_INC_DIR: ${LRDF_INC_DIR}")
- ENDIF(LRDF_FOUND)
-
- FIND_PACKAGE(LADSPA QUIET)
- IF(LADSPA_FOUND)
- SET(HAVE_LADSPA TRUE)
- ADD_DEFINITIONS(-DHAVE_LADSPA)
- SET(LADSPA_INC_DIR ${LADSPA_INCLUDE_DIR})
- MESSAGE(STATUS "Found LADSPA (${LADSPA_INC_DIR})")
- ENDIF(LADSPA_FOUND)
-
-ENDIF(WANT_SOUND)
-
-PKG_CHECK_MODULES(FFTW3F REQUIRED fftw3f>=3.0.0)
-IF(FFTW3F_FOUND)
- ADD_DEFINITIONS(-DHAVE_FFTW3F)
- SET(HAVE_FFTW3F TRUE)
- SET(FFTW3F_LIBS ${FFTW3F_LIBRARIES})
- #MESSAGE("FFTW3F_LIBS: ${FFTW3F_LIBS}")
- LIST(APPEND FFTW3F_LIB_DIR ${FFTW3F_LIBDIR} ${FFTW3F_LIBRARY_DIRS})
- #MESSAGE("FFTW3F_LIB_DIR: ${FFTW3F_LIB_DIR}")
- LIST(APPEND FFTW3F_INC_DIR ${FFTW3F_INCLUDEDIR} ${FFTW3F_INCLUDE_DIRS})
- #MESSAGE("FFTW3F_INC_DIR: ${FFTW3F_INC_DIR}")
-ELSE(FFTW3F_FOUND)
- MESSAGE(FATAL_ERROR "Please install the required package. Aborting")
-ENDIF(FFTW3F_FOUND)
-
-IF(WANT_LIRC)
- FIND_PACKAGE(LIRC QUIET)
- IF(LIRC_FOUND)
- SET(HAVE_LIRC TRUE)
- ADD_DEFINITIONS(-DHAVE_LIRC)
- MESSAGE(STATUS "Found LIRC (${LIRC_LIBRARY})")
- SET(LIRC_LIBS ${LIRC_LIBRARY})
- SET(LIRC_INC_DIR ${LIRC_INCLUDE_DIR})
- SET(LIRC_LIB_DIR ${LIRC_LIBRARY_DIR})
- #MESSAGE("LIRC_LIBS: ${LIRC_LIBS}")
- #MESSAGE("LIRC_LIB_DIR: ${LIRC_LIB_DIR}")
- #MESSAGE("LIRC_INC_DIR: ${LIRC_INC_DIR}")
- ENDIF(LIRC_FOUND)
-ENDIF(WANT_LIRC)
-
-FIND_PACKAGE(MSGFMT REQUIRED)
-IF(MSGFMT_FOUND)
- MESSAGE(STATUS "Program msgfmt found (${MSGFMT_EXECUTABLE})")
-ENDIF(MSGFMT_FOUND)
-
-FIND_PACKAGE(KDECONFIG)
-IF(KDECONFIG_EXECUTABLE)
- MESSAGE(STATUS "Program kde-config found (${KDECONFIG_EXECUTABLE})")
- #MESSAGE("KDE3PREFIX: ${KDE3PREFIX}")
-ENDIF(KDECONFIG_EXECUTABLE)
-
-FIND_PACKAGE(MEINPROC REQUIRED)
-IF(MEINPROC_FOUND)
- MESSAGE(STATUS "Program meinproc found (${MEINPROC_EXECUTABLE})")
-ENDIF(MEINPROC_FOUND)
-
-# Check GCC for PCH support
-SET(USE_PCH FALSE)
-IF(WANT_PCH)
- FIND_PACKAGE(PCHSupport)
- IF(PCHSupport_FOUND)
- SET(USE_PCH TRUE)
- ADD_DEFINITIONS(-DUSE_PCH)
- MESSAGE(STATUS "Enabling precompiled headers for GCC ${gcc_compiler_version}")
- ENDIF(PCHSupport_FOUND)
-ENDIF(WANT_PCH)
-
-# Check PTHREAD_MUTEX_RECURSIVE
-INCLUDE(CheckCSourceCompiles)
-CHECK_C_SOURCE_COMPILES(
- "#include <pthread.h>
- int main(int argc, char **argv) {
- pthread_mutexattr_t attr;
- pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
- return 0;
- }" PTHREAD_HAS_MUTEX_RECURSIVE)
-IF(PTHREAD_HAS_MUTEX_RECURSIVE)
- ADD_DEFINITIONS(-DHAVE_PTHREAD_MUTEX_RECURSIVE)
-ENDIF(PTHREAD_HAS_MUTEX_RECURSIVE)
-# End of PTHREAD_MUTEX_RECURSIVE Test
-
-SET(CMAKE_CXX_FLAGS_RELEASE "-O2 -w -fexceptions -DNDEBUG -include tqt.h")
-SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g -Wall -fexceptions -DDEBUG -include tqt.h")
-SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g3 -Wall -fexceptions -DDEBUG -include tqt.h")
-
-MESSAGE(STATUS "Rosegarden ${VERSION} will be built for install into ${CMAKE_INSTALL_PREFIX}")
-
-IF(WANT_DEBUG)
- IF(WANT_FULLDBG)
- MESSAGE(STATUS "Configured to compile including full debug information in the executables")
- SET(CMAKE_BUILD_TYPE Debug CACHE STRING
- "Choose the type of build, options are: Debug Release RelWithDebInfo" FORCE)
- ELSE(WANT_FULLDBG)
- MESSAGE(STATUS "Configured to compile including debug information in the executables")
- SET(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING
- "Choose the type of build, options are: Debug Release RelWithDebInfo" FORCE)
- ENDIF(WANT_FULLDBG)
-ELSE(WANT_DEBUG)
- MESSAGE(STATUS "Configured to compile for release without debug information")
- SET(CMAKE_BUILD_TYPE Release CACHE STRING
- "Choose the type of build, options are: Debug Release RelWithDebInfo" FORCE)
-ENDIF(WANT_DEBUG)
-MARK_AS_ADVANCED(CMAKE_BUILD_TYPE)
-
-# Warn the user if important libraries are missing
-INCLUDE(UserWarnings)
-
-# Recurse into the "src" subdirectory. This does not actually
-# cause another cmake executable to run. The same process will walk through
-# the project's entire directory structure.
-# Output directory will be "RGbuild/"
-ADD_SUBDIRECTORY(src RGbuild)
-
-# Build and install the translations directory
-ADD_SUBDIRECTORY(po RGbuild/po)
-
-# Build and install the documentation directory
-ADD_SUBDIRECTORY(docs RGbuild/docs)
-
-# Install data files
-ADD_SUBDIRECTORY(data RGbuild/data)
-
-# install some documents...
-# INSTALL( FILES AUTHORS COPYING README TRANSLATORS INSTALL rosegarden.lsm
-# DESTINATION share/doc/rosegarden-${VERSION} )
+##### configure checks ##########################
+
+include( ConfigureChecks.cmake )
+
+
+###### global compiler settings #################
+
+add_definitions(
+ -DHAVE_CONFIG_H
+)
+
+set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${TQT_CXX_FLAGS}" )
+set( CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined" )
+set( CMAKE_MODULE_LINKER_FLAGS "-Wl,--no-undefined" )
+
+
+##### source directories ########################
+
+add_subdirectory( src )
+add_subdirectory( data )
+tde_conditional_add_subdirectory( BUILD_DOC doc )
+tde_conditional_add_subdirectory( BUILD_TRANSLATIONS po )
+
+
+##### write configure files #####################
+
+configure_file( config.h.cmake config.h @ONLY )
# create and install the version file
FILE(WRITE version.txt "${VERSION}\n")
-INSTALL( FILES version.txt
- DESTINATION ${KDE3DATADIR}/rosegarden )
-
-# uninstall custom target
-CONFIGURE_FILE(
- "${CMAKE_SOURCE_DIR}/cmake_admin/cmake_uninstall.cmake.in"
- "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
- IMMEDIATE @ONLY)
-
-ADD_CUSTOM_TARGET(uninstall
- "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
-
-# Custom target trying to clean the CMake generated files
-ADD_CUSTOM_TARGET ( distclean
- COMMAND rm -f {,src/,po/,docs/,data/}CMakeCache.txt
- COMMAND rm -f {,src/,po/,docs/,data/}cmake_install.cmake
- COMMAND rm -f {,src/,po/,docs/,data/}cmake_uninstall.cmake
- COMMAND rm -f {,src/,po/,docs/,data/}CPackConfig.cmake
- COMMAND rm -f {,src/,po/,docs/,data/}CPackSourceConfig.cmake
- COMMAND rm -f {,src/,po/,docs/,data/}install_manifest.txt
- COMMAND rm -f {,src/,po/,docs/,data/}progress.make
- COMMAND rm -f {,src/,po/,docs/,data/}rosegarden.spec
- COMMAND rm -f {,src/,po/,docs/,data/}Makefile
- COMMAND rm -rf {,src/,po/,docs/,data/}CMakeFiles
- COMMAND rm -rf {,src/,po/,docs/,data/}_CPack_Packages
- COMMAND rm -rf RGbuild/*
- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
-)
-ADD_DEPENDENCIES(distclean clean)
+INSTALL( FILES version.txt DESTINATION ${DATA_INSTALL_DIR}/rosegarden )
# configure the RPM spec
-CONFIGURE_FILE(
- "${CMAKE_SOURCE_DIR}/rosegarden.spec.in"
- "${CMAKE_SOURCE_DIR}/rosegarden.spec"
- IMMEDIATE @ONLY)
-
-# tarball target
-ADD_CUSTOM_TARGET ( tarball
- COMMAND mkdir -p rosegarden-${VERSION}
- COMMAND cp -r cmake_admin rosegarden-${VERSION}
- COMMAND cp -r data rosegarden-${VERSION}
- COMMAND cp -r docs rosegarden-${VERSION}
- COMMAND cp -r po rosegarden-${VERSION}
- COMMAND cp -r src rosegarden-${VERSION}
- COMMAND cp CMakeLists.txt AUTHORS COPYING Doxyfile INSTALL README rosegarden.* TRANSLATORS rosegarden-${VERSION}
- COMMAND tar -cj --exclude .svn --exclude gettext-0.10.35-kde -f rosegarden-${VERSION}.tar.bz2 rosegarden-${VERSION}
- COMMAND rm -rf rosegarden-${VERSION}
- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
-)
+CONFIGURE_FILE("${CMAKE_SOURCE_DIR}/rosegarden.spec.in" "${CMAKE_SOURCE_DIR}/rosegarden.spec" IMMEDIATE @ONLY) \ No newline at end of file
diff --git a/CMakeLists.txt.orig b/CMakeLists.txt.orig
new file mode 100644
index 0000000..719ca20
--- /dev/null
+++ b/CMakeLists.txt.orig
@@ -0,0 +1,399 @@
+# Rosegarden
+# A MIDI and audio sequencer and musical notation editor.
+#
+# This program is Copyright 2000-2008
+# Guillaume Laurent <glaurent@telegraph-road.org>,
+# Chris Cannam <cannam@all-day-breakfast.com>,
+# Richard Bown <richard.bown@ferventsoftware.com>
+#
+# The moral rights of Guillaume Laurent, Chris Cannam, and Richard
+# Bown to claim authorship of this work have been asserted.
+#
+# This file is Copyright 2006-2008
+# Pedro Lopez-Cabanillas <plcl@users.sourceforge.net>
+#
+# Other copyrights also apply to some parts of this work. Please
+# see the AUTHORS file and individual file headers for details.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the
+# License, or (at your option) any later version. See the file
+# COPYING included with this distribution for more information.
+
+# The name of our project is "ROSEGARDEN". CMakeLists files in this project can
+# refer to the root source directory of the project as ${ROSEGARDEN_SOURCE_DIR}
+# and to the root binary directory of the project as ${ROSEGARDEN_BINARY_DIR}
+PROJECT(ROSEGARDEN)
+
+# CMake supports KDE checks since this version number
+CMAKE_MINIMUM_REQUIRED(VERSION 2.4.2)
+
+# Show full commands and messages. It generates a lot of console output.
+# It is necessary for Eclipse warning/error parser,
+# but it can be enabled anyway with "make VERBOSE=1"
+SET(CMAKE_VERBOSE_MAKEFILE OFF)
+
+# Seems that relative paths break some scripts. Don't set it ON
+SET(CMAKE_USE_RELATIVE_PATHS OFF)
+
+# Rebuild the object files if the rules have changed, but not the actual source
+# files or headers (e.g. if you changed the some compiler switches)
+SET(CMAKE_SKIP_RULE_DEPENDENCY OFF)
+
+# Misc settings
+SET(CMAKE_COLOR_MAKEFILE ON)
+SET(CMAKE_INCLUDE_CURRENT_DIR ON)
+SET(CMAKE_BUILD_WITH_INSTALL_RPATH ON)
+
+# Additional CMake modules for 3rd party library checks reside here
+SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake_admin")
+
+# Mark as advanced
+MARK_AS_ADVANCED(EXECUTABLE_OUTPUT_PATH
+ LIBRARY_OUTPUT_PATH
+ CMAKE_BACKWARDS_COMPATIBILITY)
+
+# Rosegarden version string
+SET (VERSION_MAJOR "1")
+SET (VERSION_MINOR "7")
+SET (VERSION_PATCH "0")
+# comment out the next line for a public release
+#SET (VERSION_SUFFIX "svn")
+SET (VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH})
+IF(VERSION_SUFFIX)
+ SET (VERSION "${VERSION}-${VERSION_SUFFIX}")
+ENDIF(VERSION_SUFFIX)
+ADD_DEFINITIONS(-D'VERSION="${VERSION}"')
+
+# User options
+OPTION(WANT_DEBUG "Include debug support" OFF)
+OPTION(WANT_FULLDBG "Full debug support (BIG executables!)" OFF)
+OPTION(WANT_SOUND "Include Sound support" ON)
+OPTION(WANT_JACK "Include Jack (Jack Audio Connection Kit) support" ON)
+OPTION(WANT_DSSI "Include DSSI support" ON)
+OPTION(WANT_LIRC "Include LIRC (Linux Infrared Remote Control) support" OFF)
+OPTION(WANT_PCH "Use precompiled headers" OFF)
+OPTION(WANT_TEST "Perform unit tests" OFF)
+
+IF(WANT_TEST)
+ ENABLE_TESTING()
+ENDIF(WANT_TEST)
+
+IF(NOT WANT_SOUND)
+ SET(WANT_JACK OFF)
+ SET(WANT_DSSI OFF)
+ ADD_DEFINITIONS(-DNO_SOUND)
+ENDIF(NOT WANT_SOUND)
+
+# Check for KDE3
+FIND_PACKAGE(KDE3 REQUIRED QUIET)
+IF(QT_FOUND)
+ ADD_DEFINITIONS(${QT_DEFINITIONS})
+ MESSAGE(STATUS "Found Qt3 (version ${qt_version_str})")
+ #MESSAGE("QT_LIBRARIES: ${QT_LIBRARIES}")
+ELSE(QT_FOUND)
+ MESSAGE(STATUS_ERROR "Qt3 package not found--assuming TQt4")
+ SET(QT_INCLUDE_DIR "/usr/include/qt4")
+ENDIF(QT_FOUND)
+SET(QT_UIC_EXECUTABLE "/usr/bin/uic-tqt")
+SET(QT_MOC_EXECUTABLE "/usr/bin/tmoc")
+IF(KDE3_FOUND)
+ ADD_DEFINITIONS(${KDE3_DEFINITIONS})
+ #MESSAGE("KDE3PREFIX: ${KDE3PREFIX}")
+ KDE3_PRINT_RESULTS()
+ #MESSAGE("QT_AND_TDECORE_LIBS: ${QT_AND_TDECORE_LIBS}")
+ELSE(KDE3_FOUND)
+ MESSAGE(FATAL_ERROR "KDE3 Not found")
+ENDIF(KDE3_FOUND)
+
+# Clear the flags set by FindKDE3
+SET(CMAKE_CXX_FLAGS "-I/usr/include/tqt -include tqt.h -DTQT_THREAD_SUPPORT")
+MARK_AS_ADVANCED(KDE3_BUILD_TESTS
+ KDE3_ENABLE_FINAL
+ KDE3_DCOPIDL_EXECUTABLE
+ KDE3_DCOPIDL2CPP_EXECUTABLE
+ KDE3_INCLUDE_DIR
+ KDE3_KCFGC_EXECUTABLE
+ KDE3_TDECORE_LIBRARY
+ KDECONFIG_EXECUTABLE )
+
+# Provide the KDE3 prefix as a default prefix (if the user has CMake 2.4.4)
+IF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
+ SET(CMAKE_INSTALL_PREFIX ${KDE3PREFIX} CACHE PATH
+ "Install path prefix, prepended onto install directories." FORCE)
+ENDIF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
+
+# Check for PKG-CONFIG
+FIND_PACKAGE(PkgConfig REQUIRED)
+IF(PKG_CONFIG_FOUND)
+ MESSAGE(STATUS "Program pkg-config found (${PKG_CONFIG_EXECUTABLE})")
+ELSE(PKG_CONFIG_FOUND)
+ MESSAGE(FATAL_ERROR "Program pkg-config not found")
+ENDIF(PKG_CONFIG_FOUND)
+
+# Initialize some variables
+SET(HAVE_XFT FALSE)
+SET(HAVE_ALSA FALSE)
+SET(HAVE_JACK FALSE)
+SET(HAVE_DSSI FALSE)
+SET(HAVE_LIBLO FALSE)
+SET(HAVE_LIBLRDF FALSE)
+SET(HAVE_LADSPA FALSE)
+SET(HAVE_LIRC FALSE)
+SET(HAVE_FFTW3F FALSE)
+
+# Check for Xft
+PKG_CHECK_MODULES(XFT xft>=2.1.0)
+IF(XFT_FOUND)
+ ADD_DEFINITIONS(-DHAVE_XFT)
+ SET(HAVE_XFT TRUE)
+ SET(XFT_LIBS ${XFT_LIBRARIES})
+ #MESSAGE("XFT_LIBS: ${XFT_LIBS}")
+ LIST(APPEND XFT_LIB_DIR ${XFT_LIBRARY_DIRS} ${XFT_LIBDIR})
+ #MESSAGE("XFT_LIB_DIR: ${XFT_LIB_DIR}")
+ LIST(APPEND XFT_INC_DIR ${XFT_INCLUDE_DIRS} ${XFT_INCLUDEDIR})
+ #MESSAGE("XFT_INC_DIR: ${XFT_INC_DIR}")
+ENDIF(XFT_FOUND)
+
+IF(WANT_SOUND)
+
+ # Check for ALSA 1.0
+ PKG_CHECK_MODULES(ALSA REQUIRED alsa>=1.0)
+ IF(ALSA_FOUND)
+ SET(HAVE_ALSA TRUE)
+ ADD_DEFINITIONS(-DHAVE_ALSA)
+ SET(ALSA_LIBS ${ALSA_LIBRARIES})
+ #MESSAGE("ALSA_LIBS: ${ALSA_LIBS}")
+ LIST(APPEND ALSA_LIB_DIR ${ALSA_LIBRARY_DIRS} ${ALSA_LIBDIR} )
+ #MESSAGE("ALSA_LIB_DIR: ${ALSA_LIB_DIR}")
+ LIST(APPEND ALSA_INC_DIR ${ALSA_INCLUDE_DIRS} ${ALSA_INCLUDEDIR})
+ #MESSAGE("ALSA_INC_DIR: ${ALSA_INC_DIR}")
+ ELSE(ALSA_FOUND)
+ MESSAGE(FATAL_ERROR "Please install the required package. Aborting")
+ ENDIF(ALSA_FOUND)
+
+ IF(WANT_JACK)
+ PKG_CHECK_MODULES(JACK jack>=0.77)
+ IF(JACK_FOUND)
+ ADD_DEFINITIONS(-DHAVE_LIBJACK)
+ SET(HAVE_JACK TRUE)
+ SET(JACK_LIBS ${JACK_LIBRARIES})
+ #MESSAGE("JACK_LIBS: ${JACK_LIBS}")
+ LIST(APPEND JACK_LIB_DIR ${JACK_LIBDIR} ${JACK_LIBRARY_DIRS})
+ #MESSAGE("JACK_LIB_DIR: ${JACK_LIB_DIR}")
+ LIST(APPEND JACK_INC_DIR ${JACK_INCLUDEDIR} ${JACK_INCLUDE_DIRS})
+ #MESSAGE("JACK_INC_DIR: ${JACK_INC_DIR}")
+ ENDIF(JACK_FOUND)
+ ENDIF(WANT_JACK)
+
+ IF(WANT_DSSI)
+ PKG_CHECK_MODULES(DSSI dssi>=0.4)
+ IF(DSSI_FOUND)
+ ADD_DEFINITIONS(-DHAVE_DSSI)
+ SET(HAVE_DSSI TRUE)
+ LIST(APPEND DSSI_INC_DIR ${DSSI_INCLUDE_DIRS} ${DSSI_INCLUDEDIR})
+ #MESSAGE("DSSI_INC_DIR: ${DSSI_INC_DIR}")
+ ENDIF(DSSI_FOUND)
+ ENDIF(WANT_DSSI)
+
+ PKG_CHECK_MODULES(LIBLO liblo>=0.7)
+ IF(LIBLO_FOUND)
+ ADD_DEFINITIONS(-DHAVE_LIBLO)
+ SET(HAVE_LIBLO TRUE)
+ SET(LIBLO_LIBS ${LIBLO_LIBRARIES})
+ #MESSAGE("LIBLO_LIBS: ${LIBLO_LIBS}")
+ LIST(APPEND LIBLO_LIB_DIR ${LIBLO_LIBDIR} ${LIBLO_LIBRARY_DIRS})
+ #MESSAGE("LIBLO_LIB_DIR: ${LIBLO_LIB_DIR}")
+ LIST(APPEND LIBLO_INC_DIR ${LIBLO_INCLUDEDIR} ${LIBLO_INCLUDE_DIRS})
+ #MESSAGE("LIBLO_INC_DIR: ${LIBLO_INC_DIR}")
+ ENDIF(LIBLO_FOUND)
+
+ PKG_CHECK_MODULES(LRDF lrdf>=0.3)
+ IF(LRDF_FOUND)
+ SET(HAVE_LIBLRDF TRUE)
+ ADD_DEFINITIONS(-DHAVE_LIBLRDF)
+ SET(LRDF_LIBS ${LRDF_LIBRARIES})
+ #MESSAGE("LRDF_LIBS: ${LRDF_LIBS}")
+ LIST(APPEND LRDF_LIB_DIR ${LRDF_LIBDIR} ${LRDF_LIBRARY_DIRS})
+ #MESSAGE("LRDF_LIB_DIR: ${LRDF_LIB_DIR}")
+ LIST(APPEND LRDF_INC_DIR ${LRDF_INCLUDEDIR} ${LRDF_INCLUDE_DIRS})
+ #MESSAGE("LRDF_INC_DIR: ${LRDF_INC_DIR}")
+ ENDIF(LRDF_FOUND)
+
+ FIND_PACKAGE(LADSPA QUIET)
+ IF(LADSPA_FOUND)
+ SET(HAVE_LADSPA TRUE)
+ ADD_DEFINITIONS(-DHAVE_LADSPA)
+ SET(LADSPA_INC_DIR ${LADSPA_INCLUDE_DIR})
+ MESSAGE(STATUS "Found LADSPA (${LADSPA_INC_DIR})")
+ ENDIF(LADSPA_FOUND)
+
+ENDIF(WANT_SOUND)
+
+PKG_CHECK_MODULES(FFTW3F REQUIRED fftw3f>=3.0.0)
+IF(FFTW3F_FOUND)
+ ADD_DEFINITIONS(-DHAVE_FFTW3F)
+ SET(HAVE_FFTW3F TRUE)
+ SET(FFTW3F_LIBS ${FFTW3F_LIBRARIES})
+ #MESSAGE("FFTW3F_LIBS: ${FFTW3F_LIBS}")
+ LIST(APPEND FFTW3F_LIB_DIR ${FFTW3F_LIBDIR} ${FFTW3F_LIBRARY_DIRS})
+ #MESSAGE("FFTW3F_LIB_DIR: ${FFTW3F_LIB_DIR}")
+ LIST(APPEND FFTW3F_INC_DIR ${FFTW3F_INCLUDEDIR} ${FFTW3F_INCLUDE_DIRS})
+ #MESSAGE("FFTW3F_INC_DIR: ${FFTW3F_INC_DIR}")
+ELSE(FFTW3F_FOUND)
+ MESSAGE(FATAL_ERROR "Please install the required package. Aborting")
+ENDIF(FFTW3F_FOUND)
+
+IF(WANT_LIRC)
+ FIND_PACKAGE(LIRC QUIET)
+ IF(LIRC_FOUND)
+ SET(HAVE_LIRC TRUE)
+ ADD_DEFINITIONS(-DHAVE_LIRC)
+ MESSAGE(STATUS "Found LIRC (${LIRC_LIBRARY})")
+ SET(LIRC_LIBS ${LIRC_LIBRARY})
+ SET(LIRC_INC_DIR ${LIRC_INCLUDE_DIR})
+ SET(LIRC_LIB_DIR ${LIRC_LIBRARY_DIR})
+ #MESSAGE("LIRC_LIBS: ${LIRC_LIBS}")
+ #MESSAGE("LIRC_LIB_DIR: ${LIRC_LIB_DIR}")
+ #MESSAGE("LIRC_INC_DIR: ${LIRC_INC_DIR}")
+ ENDIF(LIRC_FOUND)
+ENDIF(WANT_LIRC)
+
+FIND_PACKAGE(MSGFMT REQUIRED)
+IF(MSGFMT_FOUND)
+ MESSAGE(STATUS "Program msgfmt found (${MSGFMT_EXECUTABLE})")
+ENDIF(MSGFMT_FOUND)
+
+FIND_PACKAGE(KDECONFIG)
+IF(KDECONFIG_EXECUTABLE)
+ MESSAGE(STATUS "Program kde-config found (${KDECONFIG_EXECUTABLE})")
+ #MESSAGE("KDE3PREFIX: ${KDE3PREFIX}")
+ENDIF(KDECONFIG_EXECUTABLE)
+
+FIND_PACKAGE(MEINPROC REQUIRED)
+IF(MEINPROC_FOUND)
+ MESSAGE(STATUS "Program meinproc found (${MEINPROC_EXECUTABLE})")
+ENDIF(MEINPROC_FOUND)
+
+# Check GCC for PCH support
+SET(USE_PCH FALSE)
+IF(WANT_PCH)
+ FIND_PACKAGE(PCHSupport)
+ IF(PCHSupport_FOUND)
+ SET(USE_PCH TRUE)
+ ADD_DEFINITIONS(-DUSE_PCH)
+ MESSAGE(STATUS "Enabling precompiled headers for GCC ${gcc_compiler_version}")
+ ENDIF(PCHSupport_FOUND)
+ENDIF(WANT_PCH)
+
+# Check PTHREAD_MUTEX_RECURSIVE
+INCLUDE(CheckCSourceCompiles)
+CHECK_C_SOURCE_COMPILES(
+ "#include <pthread.h>
+ int main(int argc, char **argv) {
+ pthread_mutexattr_t attr;
+ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
+ return 0;
+ }" PTHREAD_HAS_MUTEX_RECURSIVE)
+IF(PTHREAD_HAS_MUTEX_RECURSIVE)
+ ADD_DEFINITIONS(-DHAVE_PTHREAD_MUTEX_RECURSIVE)
+ENDIF(PTHREAD_HAS_MUTEX_RECURSIVE)
+# End of PTHREAD_MUTEX_RECURSIVE Test
+
+SET(CMAKE_CXX_FLAGS_RELEASE "-O2 -w -fexceptions -DNDEBUG -include tqt.h")
+SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g -Wall -fexceptions -DDEBUG -include tqt.h")
+SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g3 -Wall -fexceptions -DDEBUG -include tqt.h")
+
+MESSAGE(STATUS "Rosegarden ${VERSION} will be built for install into ${CMAKE_INSTALL_PREFIX}")
+
+IF(WANT_DEBUG)
+ IF(WANT_FULLDBG)
+ MESSAGE(STATUS "Configured to compile including full debug information in the executables")
+ SET(CMAKE_BUILD_TYPE Debug CACHE STRING
+ "Choose the type of build, options are: Debug Release RelWithDebInfo" FORCE)
+ ELSE(WANT_FULLDBG)
+ MESSAGE(STATUS "Configured to compile including debug information in the executables")
+ SET(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING
+ "Choose the type of build, options are: Debug Release RelWithDebInfo" FORCE)
+ ENDIF(WANT_FULLDBG)
+ELSE(WANT_DEBUG)
+ MESSAGE(STATUS "Configured to compile for release without debug information")
+ SET(CMAKE_BUILD_TYPE Release CACHE STRING
+ "Choose the type of build, options are: Debug Release RelWithDebInfo" FORCE)
+ENDIF(WANT_DEBUG)
+MARK_AS_ADVANCED(CMAKE_BUILD_TYPE)
+
+# Warn the user if important libraries are missing
+INCLUDE(UserWarnings)
+
+# Recurse into the "src" subdirectory. This does not actually
+# cause another cmake executable to run. The same process will walk through
+# the project's entire directory structure.
+# Output directory will be "RGbuild/"
+ADD_SUBDIRECTORY(src RGbuild)
+
+# Build and install the translations directory
+ADD_SUBDIRECTORY(po RGbuild/po)
+
+# Build and install the documentation directory
+ADD_SUBDIRECTORY(docs RGbuild/docs)
+
+# Install data files
+ADD_SUBDIRECTORY(data RGbuild/data)
+
+# install some documents...
+# INSTALL( FILES AUTHORS COPYING README TRANSLATORS INSTALL rosegarden.lsm
+# DESTINATION share/doc/rosegarden-${VERSION} )
+
+# create and install the version file
+FILE(WRITE version.txt "${VERSION}\n")
+INSTALL( FILES version.txt
+ DESTINATION ${KDE3DATADIR}/rosegarden )
+
+# uninstall custom target
+CONFIGURE_FILE(
+ "${CMAKE_SOURCE_DIR}/cmake_admin/cmake_uninstall.cmake.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
+ IMMEDIATE @ONLY)
+
+ADD_CUSTOM_TARGET(uninstall
+ "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
+
+# Custom target trying to clean the CMake generated files
+ADD_CUSTOM_TARGET ( distclean
+ COMMAND rm -f {,src/,po/,docs/,data/}CMakeCache.txt
+ COMMAND rm -f {,src/,po/,docs/,data/}cmake_install.cmake
+ COMMAND rm -f {,src/,po/,docs/,data/}cmake_uninstall.cmake
+ COMMAND rm -f {,src/,po/,docs/,data/}CPackConfig.cmake
+ COMMAND rm -f {,src/,po/,docs/,data/}CPackSourceConfig.cmake
+ COMMAND rm -f {,src/,po/,docs/,data/}install_manifest.txt
+ COMMAND rm -f {,src/,po/,docs/,data/}progress.make
+ COMMAND rm -f {,src/,po/,docs/,data/}rosegarden.spec
+ COMMAND rm -f {,src/,po/,docs/,data/}Makefile
+ COMMAND rm -rf {,src/,po/,docs/,data/}CMakeFiles
+ COMMAND rm -rf {,src/,po/,docs/,data/}_CPack_Packages
+ COMMAND rm -rf RGbuild/*
+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
+)
+ADD_DEPENDENCIES(distclean clean)
+
+# configure the RPM spec
+CONFIGURE_FILE(
+ "${CMAKE_SOURCE_DIR}/rosegarden.spec.in"
+ "${CMAKE_SOURCE_DIR}/rosegarden.spec"
+ IMMEDIATE @ONLY)
+
+# tarball target
+ADD_CUSTOM_TARGET ( tarball
+ COMMAND mkdir -p rosegarden-${VERSION}
+ COMMAND cp -r cmake_admin rosegarden-${VERSION}
+ COMMAND cp -r data rosegarden-${VERSION}
+ COMMAND cp -r docs rosegarden-${VERSION}
+ COMMAND cp -r po rosegarden-${VERSION}
+ COMMAND cp -r src rosegarden-${VERSION}
+ COMMAND cp CMakeLists.txt AUTHORS COPYING Doxyfile INSTALL README rosegarden.* TRANSLATORS rosegarden-${VERSION}
+ COMMAND tar -cj --exclude .svn --exclude gettext-0.10.35-kde -f rosegarden-${VERSION}.tar.bz2 rosegarden-${VERSION}
+ COMMAND rm -rf rosegarden-${VERSION}
+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
+)
diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake
new file mode 100644
index 0000000..efe717d
--- /dev/null
+++ b/ConfigureChecks.cmake
@@ -0,0 +1,217 @@
+#################################################
+#
+# (C) 2011 Timothy Pearson
+# kb9vqf (AT) pearsoncomputing.net
+#
+# Improvements and feedback are welcome
+#
+# This file is released under GPL >= 2
+#
+#################################################
+
+if( BUILD_TRANSLATIONS AND NOT DEFINED MSGFMT_EXECUTABLE )
+ find_program( MSGFMT_EXECUTABLE msgfmt )
+ if( NOT MSGFMT_EXECUTABLE )
+ tde_message_fatal( "msgfmt program is required, but was not found on your system" )
+ endif( )
+endif( )
+
+# Initialize some variables
+SET(HAVE_XFT FALSE)
+SET(HAVE_ALSA FALSE)
+SET(HAVE_JACK FALSE)
+SET(HAVE_DSSI FALSE)
+SET(HAVE_LIBLO FALSE)
+SET(HAVE_LIBLRDF FALSE)
+SET(HAVE_LADSPA FALSE)
+SET(HAVE_LIRC FALSE)
+SET(HAVE_FFTW3F FALSE)
+
+# Check for Xft
+PKG_CHECK_MODULES(XFT xft>=2.1.0)
+IF(XFT_FOUND)
+ ADD_DEFINITIONS(-DHAVE_XFT)
+ SET(HAVE_XFT TRUE)
+ SET(XFT_LIBS ${XFT_LIBRARIES})
+ #MESSAGE("XFT_LIBS: ${XFT_LIBS}")
+ LIST(APPEND XFT_LIB_DIR ${XFT_LIBRARY_DIRS} ${XFT_LIBDIR})
+ #MESSAGE("XFT_LIB_DIR: ${XFT_LIB_DIR}")
+ LIST(APPEND XFT_INC_DIR ${XFT_INCLUDE_DIRS} ${XFT_INCLUDEDIR})
+ #MESSAGE("XFT_INC_DIR: ${XFT_INC_DIR}")
+ENDIF(XFT_FOUND)
+
+IF(WANT_SOUND)
+
+ # Check for ALSA 1.0
+ PKG_CHECK_MODULES(ALSA REQUIRED alsa>=1.0)
+ IF(ALSA_FOUND)
+ SET(HAVE_ALSA TRUE)
+ ADD_DEFINITIONS(-DHAVE_ALSA)
+ SET(ALSA_LIBS ${ALSA_LIBRARIES})
+ #MESSAGE("ALSA_LIBS: ${ALSA_LIBS}")
+ LIST(APPEND ALSA_LIB_DIR ${ALSA_LIBRARY_DIRS} ${ALSA_LIBDIR} )
+ #MESSAGE("ALSA_LIB_DIR: ${ALSA_LIB_DIR}")
+ LIST(APPEND ALSA_INC_DIR ${ALSA_INCLUDE_DIRS} ${ALSA_INCLUDEDIR})
+ #MESSAGE("ALSA_INC_DIR: ${ALSA_INC_DIR}")
+ ELSE(ALSA_FOUND)
+ MESSAGE(FATAL_ERROR "Please install the required package. Aborting")
+ ENDIF(ALSA_FOUND)
+
+ IF(WANT_JACK)
+ PKG_CHECK_MODULES(JACK jack>=0.77)
+ IF(JACK_FOUND)
+ ADD_DEFINITIONS(-DHAVE_LIBJACK)
+ SET(HAVE_JACK TRUE)
+ SET(JACK_LIBS ${JACK_LIBRARIES})
+ #MESSAGE("JACK_LIBS: ${JACK_LIBS}")
+ LIST(APPEND JACK_LIB_DIR ${JACK_LIBDIR} ${JACK_LIBRARY_DIRS})
+ #MESSAGE("JACK_LIB_DIR: ${JACK_LIB_DIR}")
+ LIST(APPEND JACK_INC_DIR ${JACK_INCLUDEDIR} ${JACK_INCLUDE_DIRS})
+ #MESSAGE("JACK_INC_DIR: ${JACK_INC_DIR}")
+ ENDIF(JACK_FOUND)
+ ENDIF(WANT_JACK)
+
+ IF(WANT_DSSI)
+ PKG_CHECK_MODULES(DSSI dssi>=0.4)
+ IF(DSSI_FOUND)
+ ADD_DEFINITIONS(-DHAVE_DSSI)
+ SET(HAVE_DSSI TRUE)
+ LIST(APPEND DSSI_INC_DIR ${DSSI_INCLUDE_DIRS} ${DSSI_INCLUDEDIR})
+ #MESSAGE("DSSI_INC_DIR: ${DSSI_INC_DIR}")
+ ENDIF(DSSI_FOUND)
+ ENDIF(WANT_DSSI)
+
+ PKG_CHECK_MODULES(LIBLO liblo>=0.7)
+ IF(LIBLO_FOUND)
+ ADD_DEFINITIONS(-DHAVE_LIBLO)
+ SET(HAVE_LIBLO TRUE)
+ SET(LIBLO_LIBS ${LIBLO_LIBRARIES})
+ #MESSAGE("LIBLO_LIBS: ${LIBLO_LIBS}")
+ LIST(APPEND LIBLO_LIB_DIR ${LIBLO_LIBDIR} ${LIBLO_LIBRARY_DIRS})
+ #MESSAGE("LIBLO_LIB_DIR: ${LIBLO_LIB_DIR}")
+ LIST(APPEND LIBLO_INC_DIR ${LIBLO_INCLUDEDIR} ${LIBLO_INCLUDE_DIRS})
+ #MESSAGE("LIBLO_INC_DIR: ${LIBLO_INC_DIR}")
+ ENDIF(LIBLO_FOUND)
+
+ PKG_CHECK_MODULES(LRDF lrdf>=0.3)
+ IF(LRDF_FOUND)
+ SET(HAVE_LIBLRDF TRUE)
+ ADD_DEFINITIONS(-DHAVE_LIBLRDF)
+ SET(LRDF_LIBS ${LRDF_LIBRARIES})
+ #MESSAGE("LRDF_LIBS: ${LRDF_LIBS}")
+ LIST(APPEND LRDF_LIB_DIR ${LRDF_LIBDIR} ${LRDF_LIBRARY_DIRS})
+ #MESSAGE("LRDF_LIB_DIR: ${LRDF_LIB_DIR}")
+ LIST(APPEND LRDF_INC_DIR ${LRDF_INCLUDEDIR} ${LRDF_INCLUDE_DIRS})
+ #MESSAGE("LRDF_INC_DIR: ${LRDF_INC_DIR}")
+ ENDIF(LRDF_FOUND)
+
+ FIND_PACKAGE(LADSPA QUIET)
+ IF(LADSPA_FOUND)
+ SET(HAVE_LADSPA TRUE)
+ ADD_DEFINITIONS(-DHAVE_LADSPA)
+ SET(LADSPA_INC_DIR ${LADSPA_INCLUDE_DIR})
+ MESSAGE(STATUS "Found LADSPA (${LADSPA_INC_DIR})")
+ ENDIF(LADSPA_FOUND)
+
+ENDIF(WANT_SOUND)
+
+PKG_CHECK_MODULES(FFTW3F REQUIRED fftw3f>=3.0.0)
+IF(FFTW3F_FOUND)
+ ADD_DEFINITIONS(-DHAVE_FFTW3F)
+ SET(HAVE_FFTW3F TRUE)
+ SET(FFTW3F_LIBS ${FFTW3F_LIBRARIES})
+ #MESSAGE("FFTW3F_LIBS: ${FFTW3F_LIBS}")
+ LIST(APPEND FFTW3F_LIB_DIR ${FFTW3F_LIBDIR} ${FFTW3F_LIBRARY_DIRS})
+ #MESSAGE("FFTW3F_LIB_DIR: ${FFTW3F_LIB_DIR}")
+ LIST(APPEND FFTW3F_INC_DIR ${FFTW3F_INCLUDEDIR} ${FFTW3F_INCLUDE_DIRS})
+ #MESSAGE("FFTW3F_INC_DIR: ${FFTW3F_INC_DIR}")
+ELSE(FFTW3F_FOUND)
+ MESSAGE(FATAL_ERROR "Please install the required package. Aborting")
+ENDIF(FFTW3F_FOUND)
+
+IF(WANT_LIRC)
+ FIND_PACKAGE(LIRC QUIET)
+ IF(LIRC_FOUND)
+ SET(HAVE_LIRC TRUE)
+ ADD_DEFINITIONS(-DHAVE_LIRC)
+ MESSAGE(STATUS "Found LIRC (${LIRC_LIBRARY})")
+ SET(LIRC_LIBS ${LIRC_LIBRARY})
+ SET(LIRC_INC_DIR ${LIRC_INCLUDE_DIR})
+ SET(LIRC_LIB_DIR ${LIRC_LIBRARY_DIR})
+ #MESSAGE("LIRC_LIBS: ${LIRC_LIBS}")
+ #MESSAGE("LIRC_LIB_DIR: ${LIRC_LIB_DIR}")
+ #MESSAGE("LIRC_INC_DIR: ${LIRC_INC_DIR}")
+ ENDIF(LIRC_FOUND)
+ENDIF(WANT_LIRC)
+
+FIND_PACKAGE(KDECONFIG)
+IF(KDECONFIG_EXECUTABLE)
+ MESSAGE(STATUS "Program kde-config found (${KDECONFIG_EXECUTABLE})")
+ #MESSAGE("KDE3PREFIX: ${KDE3PREFIX}")
+ENDIF(KDECONFIG_EXECUTABLE)
+
+FIND_PACKAGE(MEINPROC REQUIRED)
+IF(MEINPROC_FOUND)
+ MESSAGE(STATUS "Program meinproc found (${MEINPROC_EXECUTABLE})")
+ENDIF(MEINPROC_FOUND)
+
+# Check GCC for PCH support
+SET(USE_PCH FALSE)
+IF(WANT_PCH)
+ FIND_PACKAGE(PCHSupport)
+ IF(PCHSupport_FOUND)
+ SET(USE_PCH TRUE)
+ ADD_DEFINITIONS(-DUSE_PCH)
+ MESSAGE(STATUS "Enabling precompiled headers for GCC ${gcc_compiler_version}")
+ ENDIF(PCHSupport_FOUND)
+ENDIF(WANT_PCH)
+
+# Check PTHREAD_MUTEX_RECURSIVE
+INCLUDE(CheckCSourceCompiles)
+CHECK_C_SOURCE_COMPILES(
+ "#include <pthread.h>
+ int main(int argc, char **argv) {
+ pthread_mutexattr_t attr;
+ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
+ return 0;
+ }" PTHREAD_HAS_MUTEX_RECURSIVE)
+IF(PTHREAD_HAS_MUTEX_RECURSIVE)
+ ADD_DEFINITIONS(-DHAVE_PTHREAD_MUTEX_RECURSIVE)
+ENDIF(PTHREAD_HAS_MUTEX_RECURSIVE)
+# End of PTHREAD_MUTEX_RECURSIVE Test
+
+SET(CMAKE_CXX_FLAGS_RELEASE "-O2 -w -fexceptions -DNDEBUG -include tqt.h")
+SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g -Wall -fexceptions -DDEBUG -include tqt.h")
+SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g3 -Wall -fexceptions -DDEBUG -include tqt.h")
+
+MESSAGE(STATUS "Rosegarden ${VERSION} will be built for install into ${CMAKE_INSTALL_PREFIX}")
+
+IF(WANT_DEBUG)
+ IF(WANT_FULLDBG)
+ MESSAGE(STATUS "Configured to compile including full debug information in the executables")
+ SET(CMAKE_BUILD_TYPE Debug CACHE STRING
+ "Choose the type of build, options are: Debug Release RelWithDebInfo" FORCE)
+ ELSE(WANT_FULLDBG)
+ MESSAGE(STATUS "Configured to compile including debug information in the executables")
+ SET(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING
+ "Choose the type of build, options are: Debug Release RelWithDebInfo" FORCE)
+ ENDIF(WANT_FULLDBG)
+ELSE(WANT_DEBUG)
+ MESSAGE(STATUS "Configured to compile for release without debug information")
+ SET(CMAKE_BUILD_TYPE Release CACHE STRING
+ "Choose the type of build, options are: Debug Release RelWithDebInfo" FORCE)
+ENDIF(WANT_DEBUG)
+MARK_AS_ADVANCED(CMAKE_BUILD_TYPE)
+
+check_type_size( "int" SIZEOF_INT BUILTIN_TYPES_ONLY )
+check_type_size( "long" SIZEOF_LONG BUILTIN_TYPES_ONLY )
+
+check_include_file( stdint.h HAVE_STDINT_H )
+check_include_file( systems.h HAVE_SYSTEMS_H )
+check_include_file( linux/inotify.h HAVE_INOTIFY )
+
+check_function_exists( statvfs HAVE_STATVFS )
+
+# common required stuff
+find_package( TQt )
+find_package( TDE )
diff --git a/config.h.cmake b/config.h.cmake
new file mode 100644
index 0000000..d81a482
--- /dev/null
+++ b/config.h.cmake
@@ -0,0 +1,5 @@
+#cmakedefine SIZEOF_INT @SIZEOF_INT@
+#cmakedefine SIZEOF_LONG @SIZEOF_LONG@
+#cmakedefine HAVE_STDINT_H 1
+#cmakedefine HAVE_SYSTEMS_H 1
+#cmakedefine HAVE_STATVFS 1 \ No newline at end of file
diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt
index 1dfc834..bec89cf 100644
--- a/data/CMakeLists.txt
+++ b/data/CMakeLists.txt
@@ -1,9 +1,9 @@
# Data directory
-SET(DATADIR ${KDE3DATADIR}/rosegarden)
-SET(ICONDIR ${KDE3ICONDIR})
-SET(MIMEDIR ${KDE3MIMEDIR}/audio)
-SET(MENUDIR ${KDE3MENUDIR})
+SET(DATADIR ${DATA_INSTALL_DIR}/rosegarden)
+SET(ICONDIR ${ICON_INSTALL_DIR})
+SET(MIMEDIR ${MIME_INSTALL_DIR}/audio)
+SET(MENUDIR ${XDG_MENU_INSTALL_DIR})
# Guitar chord files
FILE(GLOB CHORD_FILES chords/*.xml)
@@ -80,7 +80,7 @@ INSTALL(FILES ${PIXMAP_FILES} DESTINATION ${DATADIR}/pixmaps/toolbar)
FILE(GLOB PIXMAP_FILES pixmaps/transport/*.xpm pixmaps/transport/*.png)
INSTALL(FILES ${PIXMAP_FILES} DESTINATION ${DATADIR}/pixmaps/transport)
-# Splash
+# Splash
INSTALL(FILES pixmaps/splash.png DESTINATION ${DATADIR}/pixmaps)
# Examples
@@ -114,12 +114,12 @@ SET(EXAMPLE_FILES
examples/vivaldi-cs3mv2.rg
examples/vivaldi_op44_11_1.rg )
-INSTALL(FILES ${EXAMPLE_FILES} DESTINATION ${DATADIR}/examples)
+INSTALL(FILES ${EXAMPLE_FILES} DESTINATION ${DATADIR}/examples)
INSTALL(FILES examples/autoload.rg DESTINATION ${DATADIR})
-# Library
+# Library
FILE(GLOB RGD_FILES library/*.rgd)
INSTALL(FILES ${RGD_FILES} DESTINATION ${DATADIR}/library)
# KDE LIRC Profile
-INSTALL(FILES profile/rosegarden.profile.xml DESTINATION ${KDE3DATADIR}/profiles)
+INSTALL(FILES profile/rosegarden.profile.xml DESTINATION ${DATA_INSTALL_DIR}/profiles)
diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
new file mode 100644
index 0000000..a8b8de4
--- /dev/null
+++ b/doc/CMakeLists.txt
@@ -0,0 +1,12 @@
+#################################################
+#
+# (C) 2010-2011 Serghei Amelian
+# serghei (DOT) amelian (AT) gmail.com
+#
+# Improvements and feedback are welcome
+#
+# This file is released under GPL >= 2
+#
+#################################################
+
+tde_auto_add_subdirectories()
diff --git a/docs/de/.gitignore b/doc/de/.gitignore
index e69de29..e69de29 100644
--- a/docs/de/.gitignore
+++ b/doc/de/.gitignore
diff --git a/doc/en/CMakeLists.txt b/doc/en/CMakeLists.txt
new file mode 100644
index 0000000..eb6d853
--- /dev/null
+++ b/doc/en/CMakeLists.txt
@@ -0,0 +1,12 @@
+#################################################
+#
+# (C) 2011 Timothy Pearson
+# kb9vqf (AT) pearsoncomputing.net
+#
+# Improvements and feedback are welcome
+#
+# This file is released under GPL >= 2
+#
+#################################################
+
+tde_create_handbook( DESTINATION rosegarden )
diff --git a/docs/en/headers-and-unicode-lyrics.png b/doc/en/headers-and-unicode-lyrics.png
index 3b16938..3b16938 100644
--- a/docs/en/headers-and-unicode-lyrics.png
+++ b/doc/en/headers-and-unicode-lyrics.png
Binary files differ
diff --git a/docs/en/index.docbook b/doc/en/index.docbook
index 064dd2b..064dd2b 100644
--- a/docs/en/index.docbook
+++ b/doc/en/index.docbook
diff --git a/docs/en/rg-audiofilemanager.png b/doc/en/rg-audiofilemanager.png
index f6a0e47..f6a0e47 100644
--- a/docs/en/rg-audiofilemanager.png
+++ b/doc/en/rg-audiofilemanager.png
Binary files differ
diff --git a/docs/en/rg-audiomixer.png b/doc/en/rg-audiomixer.png
index ebb2968..ebb2968 100644
--- a/docs/en/rg-audiomixer.png
+++ b/doc/en/rg-audiomixer.png
Binary files differ
diff --git a/docs/en/rg-bankeditor.png b/doc/en/rg-bankeditor.png
index 8e4d2d0..8e4d2d0 100644
--- a/docs/en/rg-bankeditor.png
+++ b/doc/en/rg-bankeditor.png
Binary files differ
diff --git a/docs/en/rg-button-bar-time.png b/doc/en/rg-button-bar-time.png
index 214dbe6..214dbe6 100644
--- a/docs/en/rg-button-bar-time.png
+++ b/doc/en/rg-button-bar-time.png
Binary files differ
diff --git a/docs/en/rg-button-from-end.png b/doc/en/rg-button-from-end.png
index 1f69092..1f69092 100644
--- a/docs/en/rg-button-from-end.png
+++ b/doc/en/rg-button-from-end.png
Binary files differ
diff --git a/docs/en/rg-clefdialog.png b/doc/en/rg-clefdialog.png
index ae408ce..ae408ce 100644
--- a/docs/en/rg-clefdialog.png
+++ b/doc/en/rg-clefdialog.png
Binary files differ
diff --git a/docs/en/rg-coda.png b/doc/en/rg-coda.png
index e34f2b0..e34f2b0 100644
--- a/docs/en/rg-coda.png
+++ b/doc/en/rg-coda.png
Binary files differ
diff --git a/docs/en/rg-colours.png b/doc/en/rg-colours.png
index 4054931..4054931 100644
--- a/docs/en/rg-colours.png
+++ b/doc/en/rg-colours.png
Binary files differ
diff --git a/docs/en/rg-cursors.png b/doc/en/rg-cursors.png
index dbe11ea..dbe11ea 100644
--- a/docs/en/rg-cursors.png
+++ b/doc/en/rg-cursors.png
Binary files differ
diff --git a/docs/en/rg-devicemanager.png b/doc/en/rg-devicemanager.png
index 035ad68..035ad68 100644
--- a/docs/en/rg-devicemanager.png
+++ b/doc/en/rg-devicemanager.png
Binary files differ
diff --git a/docs/en/rg-eraser.png b/doc/en/rg-eraser.png
index 3377546..3377546 100644
--- a/docs/en/rg-eraser.png
+++ b/doc/en/rg-eraser.png
Binary files differ
diff --git a/docs/en/rg-eventfilter.png b/doc/en/rg-eventfilter.png
index 91738d0..91738d0 100644
--- a/docs/en/rg-eventfilter.png
+++ b/doc/en/rg-eventfilter.png
Binary files differ
diff --git a/docs/en/rg-eventlisteditor.png b/doc/en/rg-eventlisteditor.png
index 8f53694..8f53694 100644
--- a/docs/en/rg-eventlisteditor.png
+++ b/doc/en/rg-eventlisteditor.png
Binary files differ
diff --git a/docs/en/rg-gridquantizer.png b/doc/en/rg-gridquantizer.png
index 7671eb7..7671eb7 100644
--- a/docs/en/rg-gridquantizer.png
+++ b/doc/en/rg-gridquantizer.png
Binary files differ
diff --git a/docs/en/rg-guitarchorddialog.png b/doc/en/rg-guitarchorddialog.png
index 8ec07f9..8ec07f9 100644
--- a/docs/en/rg-guitarchorddialog.png
+++ b/doc/en/rg-guitarchorddialog.png
Binary files differ
diff --git a/docs/en/rg-guitarchordeditordialog.png b/doc/en/rg-guitarchordeditordialog.png
index 8bcb04a..8bcb04a 100644
--- a/docs/en/rg-guitarchordeditordialog.png
+++ b/doc/en/rg-guitarchordeditordialog.png
Binary files differ
diff --git a/docs/en/rg-ipb-audio.png b/doc/en/rg-ipb-audio.png
index 34b0f6d..34b0f6d 100644
--- a/docs/en/rg-ipb-audio.png
+++ b/doc/en/rg-ipb-audio.png
Binary files differ
diff --git a/docs/en/rg-ipb-midi.png b/doc/en/rg-ipb-midi.png
index 8230321..8230321 100644
--- a/docs/en/rg-ipb-midi.png
+++ b/doc/en/rg-ipb-midi.png
Binary files differ
diff --git a/docs/en/rg-ipb-synth.png b/doc/en/rg-ipb-synth.png
index b3df553..b3df553 100644
--- a/docs/en/rg-ipb-synth.png
+++ b/doc/en/rg-ipb-synth.png
Binary files differ
diff --git a/docs/en/rg-keysigdialog.png b/doc/en/rg-keysigdialog.png
index 463c956..463c956 100644
--- a/docs/en/rg-keysigdialog.png
+++ b/doc/en/rg-keysigdialog.png
Binary files differ
diff --git a/docs/en/rg-loadpreset.png b/doc/en/rg-loadpreset.png
index f1bdf65..f1bdf65 100644
--- a/docs/en/rg-loadpreset.png
+++ b/doc/en/rg-loadpreset.png
Binary files differ
diff --git a/docs/en/rg-mainwindow.png b/doc/en/rg-mainwindow.png
index 70769fc..70769fc 100644
--- a/docs/en/rg-mainwindow.png
+++ b/doc/en/rg-mainwindow.png
Binary files differ
diff --git a/docs/en/rg-markerloop.png b/doc/en/rg-markerloop.png
index 8d76cd2..8d76cd2 100644
--- a/docs/en/rg-markerloop.png
+++ b/doc/en/rg-markerloop.png
Binary files differ
diff --git a/docs/en/rg-matrixview.png b/doc/en/rg-matrixview.png
index 1e88e4b..1e88e4b 100644
--- a/docs/en/rg-matrixview.png
+++ b/doc/en/rg-matrixview.png
Binary files differ
diff --git a/docs/en/rg-metronome.png b/doc/en/rg-metronome.png
index 6ed2065..6ed2065 100644
--- a/docs/en/rg-metronome.png
+++ b/doc/en/rg-metronome.png
Binary files differ
diff --git a/docs/en/rg-midifilter.png b/doc/en/rg-midifilter.png
index f58891f..f58891f 100644
--- a/docs/en/rg-midifilter.png
+++ b/doc/en/rg-midifilter.png
Binary files differ
diff --git a/docs/en/rg-midimixer.png b/doc/en/rg-midimixer.png
index ca3e27f..ca3e27f 100644
--- a/docs/en/rg-midimixer.png
+++ b/doc/en/rg-midimixer.png
Binary files differ
diff --git a/docs/en/rg-move.png b/doc/en/rg-move.png
index b99d3e4..b99d3e4 100644
--- a/docs/en/rg-move.png
+++ b/doc/en/rg-move.png
Binary files differ
diff --git a/docs/en/rg-notation-toolbars.png b/doc/en/rg-notation-toolbars.png
index e4c8807..e4c8807 100644
--- a/docs/en/rg-notation-toolbars.png
+++ b/doc/en/rg-notation-toolbars.png
Binary files differ
diff --git a/docs/en/rg-notationquantizer.png b/doc/en/rg-notationquantizer.png
index 92e3016..92e3016 100644
--- a/docs/en/rg-notationquantizer.png
+++ b/doc/en/rg-notationquantizer.png
Binary files differ
diff --git a/docs/en/rg-notationtools.png b/doc/en/rg-notationtools.png
index 5cb9add..5cb9add 100644
--- a/docs/en/rg-notationtools.png
+++ b/doc/en/rg-notationtools.png
Binary files differ
diff --git a/docs/en/rg-notationview-multipage.png b/doc/en/rg-notationview-multipage.png
index 0ee2ed2..0ee2ed2 100644
--- a/docs/en/rg-notationview-multipage.png
+++ b/doc/en/rg-notationview-multipage.png
Binary files differ
diff --git a/docs/en/rg-notationview.png b/doc/en/rg-notationview.png
index 7728430..7728430 100644
--- a/docs/en/rg-notationview.png
+++ b/doc/en/rg-notationview.png
Binary files differ
diff --git a/docs/en/rg-pastedialog.png b/doc/en/rg-pastedialog.png
index 0961b4f..0961b4f 100644
--- a/docs/en/rg-pastedialog.png
+++ b/doc/en/rg-pastedialog.png
Binary files differ
diff --git a/docs/en/rg-pencil.png b/doc/en/rg-pencil.png
index 8e2f895..8e2f895 100644
--- a/docs/en/rg-pencil.png
+++ b/doc/en/rg-pencil.png
Binary files differ
diff --git a/docs/en/rg-percussionmatrix.png b/doc/en/rg-percussionmatrix.png
index 6ceba5e..6ceba5e 100644
--- a/docs/en/rg-percussionmatrix.png
+++ b/doc/en/rg-percussionmatrix.png
Binary files differ
diff --git a/docs/en/rg-plugin-dialog.png b/doc/en/rg-plugin-dialog.png
index 15e30eb..15e30eb 100644
--- a/docs/en/rg-plugin-dialog.png
+++ b/doc/en/rg-plugin-dialog.png
Binary files differ
diff --git a/docs/en/rg-pluginbuttons.png b/doc/en/rg-pluginbuttons.png
index 837e7d3..837e7d3 100644
--- a/docs/en/rg-pluginbuttons.png
+++ b/doc/en/rg-pluginbuttons.png
Binary files differ
diff --git a/docs/en/rg-plugineditorbutton.png b/doc/en/rg-plugineditorbutton.png
index 9fa0568..9fa0568 100644
--- a/docs/en/rg-plugineditorbutton.png
+++ b/doc/en/rg-plugineditorbutton.png
Binary files differ
diff --git a/docs/en/rg-quickmarker.png b/doc/en/rg-quickmarker.png
index fe818b4..fe818b4 100755
--- a/docs/en/rg-quickmarker.png
+++ b/doc/en/rg-quickmarker.png
Binary files differ
diff --git a/docs/en/rg-rawnoteruler.png b/doc/en/rg-rawnoteruler.png
index 36999e1..36999e1 100644
--- a/docs/en/rg-rawnoteruler.png
+++ b/doc/en/rg-rawnoteruler.png
Binary files differ
diff --git a/docs/en/rg-resize.png b/doc/en/rg-resize.png
index f4fa099..f4fa099 100644
--- a/docs/en/rg-resize.png
+++ b/doc/en/rg-resize.png
Binary files differ
diff --git a/docs/en/rg-segmentparameterbox.png b/doc/en/rg-segmentparameterbox.png
index c888d14..c888d14 100644
--- a/docs/en/rg-segmentparameterbox.png
+++ b/doc/en/rg-segmentparameterbox.png
Binary files differ
diff --git a/docs/en/rg-segno.png b/doc/en/rg-segno.png
index d6946a4..d6946a4 100644
--- a/docs/en/rg-segno.png
+++ b/doc/en/rg-segno.png
Binary files differ
diff --git a/docs/en/rg-select.png b/doc/en/rg-select.png
index 0bee367..0bee367 100644
--- a/docs/en/rg-select.png
+++ b/doc/en/rg-select.png
Binary files differ
diff --git a/docs/en/rg-split.png b/doc/en/rg-split.png
index f3aa72e..f3aa72e 100644
--- a/docs/en/rg-split.png
+++ b/doc/en/rg-split.png
Binary files differ
diff --git a/docs/en/rg-synthpluginbuttons.png b/doc/en/rg-synthpluginbuttons.png
index 9b92029..9b92029 100644
--- a/docs/en/rg-synthpluginbuttons.png
+++ b/doc/en/rg-synthpluginbuttons.png
Binary files differ
diff --git a/docs/en/rg-tempodialog.png b/doc/en/rg-tempodialog.png
index 33ffc7f..33ffc7f 100644
--- a/docs/en/rg-tempodialog.png
+++ b/doc/en/rg-tempodialog.png
Binary files differ
diff --git a/docs/en/rg-temporuler.png b/doc/en/rg-temporuler.png
index 950e2bf..950e2bf 100644
--- a/docs/en/rg-temporuler.png
+++ b/doc/en/rg-temporuler.png
Binary files differ
diff --git a/docs/en/rg-text-cursor.png b/doc/en/rg-text-cursor.png
index c52e6a0..c52e6a0 100644
--- a/docs/en/rg-text-cursor.png
+++ b/doc/en/rg-text-cursor.png
Binary files differ
diff --git a/docs/en/rg-textdialog.png b/doc/en/rg-textdialog.png
index 3fd4521..3fd4521 100644
--- a/docs/en/rg-textdialog.png
+++ b/doc/en/rg-textdialog.png
Binary files differ
diff --git a/docs/en/rg-timesigdialog.png b/doc/en/rg-timesigdialog.png
index 2e017e8..2e017e8 100644
--- a/docs/en/rg-timesigdialog.png
+++ b/doc/en/rg-timesigdialog.png
Binary files differ
diff --git a/docs/en/rg-trackbutton-instrumentmenu.png b/doc/en/rg-trackbutton-instrumentmenu.png
index 54ea72a..54ea72a 100644
--- a/docs/en/rg-trackbutton-instrumentmenu.png
+++ b/doc/en/rg-trackbutton-instrumentmenu.png
Binary files differ
diff --git a/docs/en/rg-trackbutton-instruments.png b/doc/en/rg-trackbutton-instruments.png
index bd8a242..bd8a242 100644
--- a/docs/en/rg-trackbutton-instruments.png
+++ b/doc/en/rg-trackbutton-instruments.png
Binary files differ
diff --git a/docs/en/rg-trackbutton-labels.png b/doc/en/rg-trackbutton-labels.png
index f3e005a..f3e005a 100644
--- a/docs/en/rg-trackbutton-labels.png
+++ b/doc/en/rg-trackbutton-labels.png
Binary files differ
diff --git a/docs/en/rg-trackbuttons.png b/doc/en/rg-trackbuttons.png
index 2605de2..2605de2 100644
--- a/docs/en/rg-trackbuttons.png
+++ b/doc/en/rg-trackbuttons.png
Binary files differ
diff --git a/docs/en/rg-trackeditor.png b/doc/en/rg-trackeditor.png
index 62d8cc3..62d8cc3 100644
--- a/docs/en/rg-trackeditor.png
+++ b/doc/en/rg-trackeditor.png
Binary files differ
diff --git a/docs/en/rg-trackparameterbox.png b/doc/en/rg-trackparameterbox.png
index fdcb9ef..fdcb9ef 100644
--- a/docs/en/rg-trackparameterbox.png
+++ b/doc/en/rg-trackparameterbox.png
Binary files differ
diff --git a/docs/en/rg-transport.png b/doc/en/rg-transport.png
index 006fa0e..006fa0e 100644
--- a/docs/en/rg-transport.png
+++ b/doc/en/rg-transport.png
Binary files differ
diff --git a/docs/en/rg-triggersegment.png b/doc/en/rg-triggersegment.png
index 2c827f8..2c827f8 100644
--- a/docs/en/rg-triggersegment.png
+++ b/doc/en/rg-triggersegment.png
Binary files differ
diff --git a/docs/en/rg-tupletdialog.png b/doc/en/rg-tupletdialog.png
index 6275b28..6275b28 100644
--- a/docs/en/rg-tupletdialog.png
+++ b/doc/en/rg-tupletdialog.png
Binary files differ
diff --git a/docs/en/rg-useornament.png b/doc/en/rg-useornament.png
index 897370b..897370b 100644
--- a/docs/en/rg-useornament.png
+++ b/doc/en/rg-useornament.png
Binary files differ
diff --git a/docs/en/tips b/doc/en/tips
index 99074a8..99074a8 100644
--- a/docs/en/tips
+++ b/doc/en/tips
diff --git a/docs/en/transpose-by-interval.png b/doc/en/transpose-by-interval.png
index 727eb2f..727eb2f 100644
--- a/docs/en/transpose-by-interval.png
+++ b/doc/en/transpose-by-interval.png
Binary files differ
diff --git a/doc/es/CMakeLists.txt b/doc/es/CMakeLists.txt
new file mode 100644
index 0000000..eb6d853
--- /dev/null
+++ b/doc/es/CMakeLists.txt
@@ -0,0 +1,12 @@
+#################################################
+#
+# (C) 2011 Timothy Pearson
+# kb9vqf (AT) pearsoncomputing.net
+#
+# Improvements and feedback are welcome
+#
+# This file is released under GPL >= 2
+#
+#################################################
+
+tde_create_handbook( DESTINATION rosegarden )
diff --git a/docs/es/index.docbook b/doc/es/index.docbook
index 3b15e0d..3b15e0d 100644
--- a/docs/es/index.docbook
+++ b/doc/es/index.docbook
diff --git a/doc/ja/CMakeLists.txt b/doc/ja/CMakeLists.txt
new file mode 100644
index 0000000..eb6d853
--- /dev/null
+++ b/doc/ja/CMakeLists.txt
@@ -0,0 +1,12 @@
+#################################################
+#
+# (C) 2011 Timothy Pearson
+# kb9vqf (AT) pearsoncomputing.net
+#
+# Improvements and feedback are welcome
+#
+# This file is released under GPL >= 2
+#
+#################################################
+
+tde_create_handbook( DESTINATION rosegarden )
diff --git a/docs/ja/index.docbook b/doc/ja/index.docbook
index a1c09bf..a1c09bf 100644
--- a/docs/ja/index.docbook
+++ b/doc/ja/index.docbook
diff --git a/doc/sv/CMakeLists.txt b/doc/sv/CMakeLists.txt
new file mode 100644
index 0000000..eb6d853
--- /dev/null
+++ b/doc/sv/CMakeLists.txt
@@ -0,0 +1,12 @@
+#################################################
+#
+# (C) 2011 Timothy Pearson
+# kb9vqf (AT) pearsoncomputing.net
+#
+# Improvements and feedback are welcome
+#
+# This file is released under GPL >= 2
+#
+#################################################
+
+tde_create_handbook( DESTINATION rosegarden )
diff --git a/docs/sv/index.docbook b/doc/sv/index.docbook
index 066dcb0..066dcb0 100644
--- a/docs/sv/index.docbook
+++ b/doc/sv/index.docbook
diff --git a/docs/sv/rg-audiofilemanager.png b/doc/sv/rg-audiofilemanager.png
index 0246b9d..0246b9d 100644
--- a/docs/sv/rg-audiofilemanager.png
+++ b/doc/sv/rg-audiofilemanager.png
Binary files differ
diff --git a/docs/sv/rg-audiomixer.png b/doc/sv/rg-audiomixer.png
index aa016dd..aa016dd 100644
--- a/docs/sv/rg-audiomixer.png
+++ b/doc/sv/rg-audiomixer.png
Binary files differ
diff --git a/docs/sv/rg-bankeditor.png b/doc/sv/rg-bankeditor.png
index 8521244..8521244 100644
--- a/docs/sv/rg-bankeditor.png
+++ b/doc/sv/rg-bankeditor.png
Binary files differ
diff --git a/docs/sv/rg-clefdialog.png b/doc/sv/rg-clefdialog.png
index 481af7c..481af7c 100644
--- a/docs/sv/rg-clefdialog.png
+++ b/doc/sv/rg-clefdialog.png
Binary files differ
diff --git a/docs/sv/rg-colours.png b/doc/sv/rg-colours.png
index 48426f5..48426f5 100644
--- a/docs/sv/rg-colours.png
+++ b/doc/sv/rg-colours.png
Binary files differ
diff --git a/docs/sv/rg-devicemanager.png b/doc/sv/rg-devicemanager.png
index d90a751..d90a751 100644
--- a/docs/sv/rg-devicemanager.png
+++ b/doc/sv/rg-devicemanager.png
Binary files differ
diff --git a/docs/sv/rg-eventlisteditor.png b/doc/sv/rg-eventlisteditor.png
index cd3734a..cd3734a 100644
--- a/docs/sv/rg-eventlisteditor.png
+++ b/doc/sv/rg-eventlisteditor.png
Binary files differ
diff --git a/docs/sv/rg-gridquantizer.png b/doc/sv/rg-gridquantizer.png
index 8567e39..8567e39 100644
--- a/docs/sv/rg-gridquantizer.png
+++ b/doc/sv/rg-gridquantizer.png
Binary files differ
diff --git a/docs/sv/rg-ipb-audio.png b/doc/sv/rg-ipb-audio.png
index f35be3a..f35be3a 100644
--- a/docs/sv/rg-ipb-audio.png
+++ b/doc/sv/rg-ipb-audio.png
Binary files differ
diff --git a/docs/sv/rg-ipb-midi.png b/doc/sv/rg-ipb-midi.png
index a701cee..a701cee 100644
--- a/docs/sv/rg-ipb-midi.png
+++ b/doc/sv/rg-ipb-midi.png
Binary files differ
diff --git a/docs/sv/rg-ipb-synth.png b/doc/sv/rg-ipb-synth.png
index 7a0306c..7a0306c 100644
--- a/docs/sv/rg-ipb-synth.png
+++ b/doc/sv/rg-ipb-synth.png
Binary files differ
diff --git a/docs/sv/rg-keysigdialog.png b/doc/sv/rg-keysigdialog.png
index 0dd3e6f..0dd3e6f 100644
--- a/docs/sv/rg-keysigdialog.png
+++ b/doc/sv/rg-keysigdialog.png
Binary files differ
diff --git a/docs/sv/rg-mainwindow.png b/doc/sv/rg-mainwindow.png
index f2b3b2f..f2b3b2f 100644
--- a/docs/sv/rg-mainwindow.png
+++ b/doc/sv/rg-mainwindow.png
Binary files differ
diff --git a/docs/sv/rg-matrixview.png b/doc/sv/rg-matrixview.png
index ecbafef..ecbafef 100644
--- a/docs/sv/rg-matrixview.png
+++ b/doc/sv/rg-matrixview.png
Binary files differ
diff --git a/docs/sv/rg-metronome.png b/doc/sv/rg-metronome.png
index ece7323..ece7323 100644
--- a/docs/sv/rg-metronome.png
+++ b/doc/sv/rg-metronome.png
Binary files differ
diff --git a/docs/sv/rg-midifilter.png b/doc/sv/rg-midifilter.png
index 61844da..61844da 100644
--- a/docs/sv/rg-midifilter.png
+++ b/doc/sv/rg-midifilter.png
Binary files differ
diff --git a/docs/sv/rg-midimixer.png b/doc/sv/rg-midimixer.png
index 1b725bb..1b725bb 100644
--- a/docs/sv/rg-midimixer.png
+++ b/doc/sv/rg-midimixer.png
Binary files differ
diff --git a/docs/sv/rg-notationquantizer.png b/doc/sv/rg-notationquantizer.png
index b1317f4..b1317f4 100644
--- a/docs/sv/rg-notationquantizer.png
+++ b/doc/sv/rg-notationquantizer.png
Binary files differ
diff --git a/docs/sv/rg-notationview-multipage.png b/doc/sv/rg-notationview-multipage.png
index 7f750b9..7f750b9 100644
--- a/docs/sv/rg-notationview-multipage.png
+++ b/doc/sv/rg-notationview-multipage.png
Binary files differ
diff --git a/docs/sv/rg-notationview.png b/doc/sv/rg-notationview.png
index ca4132d..ca4132d 100644
--- a/docs/sv/rg-notationview.png
+++ b/doc/sv/rg-notationview.png
Binary files differ
diff --git a/docs/sv/rg-pastedialog.png b/doc/sv/rg-pastedialog.png
index fba3675..fba3675 100644
--- a/docs/sv/rg-pastedialog.png
+++ b/doc/sv/rg-pastedialog.png
Binary files differ
diff --git a/docs/sv/rg-plugin-dialog.png b/doc/sv/rg-plugin-dialog.png
index 2cd76ac..2cd76ac 100644
--- a/docs/sv/rg-plugin-dialog.png
+++ b/doc/sv/rg-plugin-dialog.png
Binary files differ
diff --git a/docs/sv/rg-pluginbuttons.png b/doc/sv/rg-pluginbuttons.png
index 2a780c7..2a780c7 100644
--- a/docs/sv/rg-pluginbuttons.png
+++ b/doc/sv/rg-pluginbuttons.png
Binary files differ
diff --git a/docs/sv/rg-plugineditorbutton.png b/doc/sv/rg-plugineditorbutton.png
index 45c2c99..45c2c99 100644
--- a/docs/sv/rg-plugineditorbutton.png
+++ b/doc/sv/rg-plugineditorbutton.png
Binary files differ
diff --git a/docs/sv/rg-segmentparameterbox.png b/doc/sv/rg-segmentparameterbox.png
index 46bbd9d..46bbd9d 100644
--- a/docs/sv/rg-segmentparameterbox.png
+++ b/doc/sv/rg-segmentparameterbox.png
Binary files differ
diff --git a/docs/sv/rg-synthpluginbuttons.png b/doc/sv/rg-synthpluginbuttons.png
index b66d5ca..b66d5ca 100644
--- a/docs/sv/rg-synthpluginbuttons.png
+++ b/doc/sv/rg-synthpluginbuttons.png
Binary files differ
diff --git a/docs/sv/rg-tempodialog.png b/doc/sv/rg-tempodialog.png
index f8a689c..f8a689c 100644
--- a/docs/sv/rg-tempodialog.png
+++ b/doc/sv/rg-tempodialog.png
Binary files differ
diff --git a/docs/sv/rg-timesigdialog.png b/doc/sv/rg-timesigdialog.png
index 3c08ec8..3c08ec8 100644
--- a/docs/sv/rg-timesigdialog.png
+++ b/doc/sv/rg-timesigdialog.png
Binary files differ
diff --git a/docs/sv/rg-trackbutton-instruments.png b/doc/sv/rg-trackbutton-instruments.png
index cdf1534..cdf1534 100644
--- a/docs/sv/rg-trackbutton-instruments.png
+++ b/doc/sv/rg-trackbutton-instruments.png
Binary files differ
diff --git a/docs/sv/rg-trackbutton-labels.png b/doc/sv/rg-trackbutton-labels.png
index 252d975..252d975 100644
--- a/docs/sv/rg-trackbutton-labels.png
+++ b/doc/sv/rg-trackbutton-labels.png
Binary files differ
diff --git a/docs/sv/rg-trackeditor.png b/doc/sv/rg-trackeditor.png
index 56ef343..56ef343 100644
--- a/docs/sv/rg-trackeditor.png
+++ b/doc/sv/rg-trackeditor.png
Binary files differ
diff --git a/docs/sv/rg-transport.png b/doc/sv/rg-transport.png
index 26d5b76..26d5b76 100644
--- a/docs/sv/rg-transport.png
+++ b/doc/sv/rg-transport.png
Binary files differ
diff --git a/docs/sv/rg-tupletdialog.png b/doc/sv/rg-tupletdialog.png
index 9625c00..9625c00 100644
--- a/docs/sv/rg-tupletdialog.png
+++ b/doc/sv/rg-tupletdialog.png
Binary files differ
diff --git a/docs/sv/rosegarden.po b/doc/sv/rosegarden.po
index 3c37a3b..3c37a3b 100644
--- a/docs/sv/rosegarden.po
+++ b/doc/sv/rosegarden.po
diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt
deleted file mode 100644
index 9d1ac8b..0000000
--- a/docs/CMakeLists.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-
-ADD_DOCS(rosegarden en es ja sv)
-
-INSTALL(FILES en/tips DESTINATION ${KDE3DATADIR}/rosegarden)
diff --git a/po/CMakeLists.txt b/po/CMakeLists.txt
index a653d59..c752e63 100644
--- a/po/CMakeLists.txt
+++ b/po/CMakeLists.txt
@@ -1,25 +1,17 @@
+#################################################
+#
+# (C) 2011 Timothy Pearson
+# kb9vqf (AT) pearsoncomputing.net
+#
+# Improvements and feedback are welcome
+#
+# This file is released under GPL >= 2
+#
+#################################################
-# Automatic discovery of sources
-FILE(GLOB PO_FILES *.po)
+file( GLOB_RECURSE po_files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} rosegarden.po )
-# DISABLED: explicit set of source files
-# SET(PO_FILES
-# ca.po
-# cs.po
-# cy.po
-# de.po
-# en_GB.po
-# en.po
-# es.po
-# et.po
-# fi.po
-# fr.po
-# it.po
-# ja.po
-# nl.po
-# ru.po
-# sv.po
-# zh_CN.po
-# )
-
-ADD_TRANSLATIONS(rosegarden ${PO_FILES})
+foreach( _po ${po_files} )
+ get_filename_component( _lang ${_po} PATH )
+ tde_create_translation( FILES ${_po} LANG ${_lang} )
+endforeach( )
diff --git a/po/ca.po b/po/ca/rosegarden.po
index ff5da9d..ff5da9d 100644
--- a/po/ca.po
+++ b/po/ca/rosegarden.po
diff --git a/po/cs.po b/po/cs/rosegarden.po
index e38ddae..e38ddae 100644
--- a/po/cs.po
+++ b/po/cs/rosegarden.po
diff --git a/po/cy.po b/po/cy/rosegarden.po
index 0ab44b3..0ab44b3 100644
--- a/po/cy.po
+++ b/po/cy/rosegarden.po
diff --git a/po/de.po b/po/de/rosegarden.po
index 911e4f6..911e4f6 100644
--- a/po/de.po
+++ b/po/de/rosegarden.po
diff --git a/po/en.po b/po/en/rosegarden.po
index 8c5523a..8c5523a 100644
--- a/po/en.po
+++ b/po/en/rosegarden.po
diff --git a/po/en_GB.po b/po/en_GB/rosegarden.po
index 925a031..925a031 100644
--- a/po/en_GB.po
+++ b/po/en_GB/rosegarden.po
diff --git a/po/es.po b/po/es/rosegarden.po
index 810c8b0..810c8b0 100644
--- a/po/es.po
+++ b/po/es/rosegarden.po
diff --git a/po/et.po b/po/et/rosegarden.po
index 60ef0df..60ef0df 100644
--- a/po/et.po
+++ b/po/et/rosegarden.po
diff --git a/po/eu.po b/po/eu/rosegarden.po
index be24229..be24229 100644
--- a/po/eu.po
+++ b/po/eu/rosegarden.po
diff --git a/po/fi.po b/po/fi/rosegarden.po
index 0118aa6..0118aa6 100644
--- a/po/fi.po
+++ b/po/fi/rosegarden.po
diff --git a/po/fr.po b/po/fr/rosegarden.po
index 9d78f45..9d78f45 100644
--- a/po/fr.po
+++ b/po/fr/rosegarden.po
diff --git a/po/it.po b/po/it/rosegarden.po
index 864e20f..864e20f 100644
--- a/po/it.po
+++ b/po/it/rosegarden.po
diff --git a/po/ja.po b/po/ja/rosegarden.po
index 295e740..295e740 100644
--- a/po/ja.po
+++ b/po/ja/rosegarden.po
diff --git a/po/messages.sh b/po/messages.sh
deleted file mode 100755
index 51bbd88..0000000
--- a/po/messages.sh
+++ /dev/null
@@ -1,101 +0,0 @@
-#!/bin/bash
-
-# Based on KDE messages.sh by Thomas Nagy
-# Inspired by Makefile.common from coolo
-# This script is used to update the .po files.
-
-# To update the translations, you will need a specific gettext
-# patched for kde and a lot of patience, tenacity, luck, time ..
-
-# I guess one should only update the .po files when all .cpp files
-# are generated (after a make or scons)
-
-if [ -z "$KDE_GETTEXT_BIN" ]; then
- if [ -f ./xgettext ] && ./xgettext --help 2>&1 | grep -q extract; then
- KDE_GETTEXT_BIN=.
- elif [ -d /opt/gettext-kde/bin ]; then
- KDE_GETTEXT_BIN=/opt/gettext-kde/bin
- fi
-fi
-if [ ! -d "$KDE_GETTEXT_BIN" ]; then
- echo 1>&2
- echo "WARNING: Environment variable KDE_GETTEXT_BIN must be set" 1>&2
- echo "such that the KDE patched version of gettext is found in " 1>&2
- echo "KDE_GETTEXT_BIN/." 1>&2
- echo 1>&2
- echo "Falling back to default gettext, but plural translations " 1>&2
- echo "will probably be wrong." 1>&2
- echo 1>&2
- echo "See ftp://ftp.kde.org/devel/gettext-kde/ for the patched gettext." 1>&2
- echo 1>&2
-else
- KDE_GETTEXT_PATH=${KDE_GETTEXT_BIN}/
-fi
-
-SRCDIR=../src # srcdir is the directory containing the source code
-TIPSDIR=../docs/en # tipsdir is the directory containing the tips
-DATADIR=../data # datadir is the directory containing fonts/mappings & styles
-
-KDEDIR=`kde-config --prefix`
-EXTRACTRC=extractrc # from tdesdk-scripts (on Debian Sarge)
-KDEPOT=$KDEDIR/include/kde.pot
-if [ ! -f "$KDEPOT" ] && [ -f /usr/include/kde/kde.pot ]; then
- KDEPOT=/usr/include/kde/kde.pot
-fi
-XGETTEXT="${KDE_GETTEXT_PATH}xgettext -C -ki18n -ktr2i18n -kI18N_NOOP -ktranslate -kaliasLocale -x $KDEPOT "
-
-## check that kde.pot is available
-if ! test -e $KDEPOT; then
- echo "$KDEPOT does not exist, there is something wrong with your installation!"
- XGETTEXT="${KDE_GETTEXT_PATH}xgettext -C -ki18n -ktr2i18n -kI18N_NOOP -ktranslate -kaliasLocale "
-fi
-
-> rc.cpp
-
-## extract the strings
-echo "extracting the strings"
-
-# process the .ui and .rc files
-$EXTRACTRC `find $SRCDIR -iname *.rc` >> rc.cpp
-$EXTRACTRC `find $SRCDIR -iname *.ui` >> rc.cpp
-echo -e 'i18n("_: NAME OF TRANSLATORS\\n"\n"Your names")\ni18n("_: EMAIL OF TRANSLATORS\\n"\n"Your emails")' > $SRCDIR/_translatorinfo.cpp
-
-# process the tips - $SRCDIR is supposed to be where the tips are living
-pushd $TIPSDIR; preparetips >tips.cpp; popd
-
-# process the fonts mapping attributes
-FONTSDIR=$DATADIR/fonts/mappings
-pushd $FONTSDIR
-cat *.xml | perl -e 'while (<STDIN>) { if(/(encoding name|origin|copyright|mapped-by|type)\s*=\s*\"(.*)\"/) { print "i18n(\"$2\")\;\n";} }' > fonts.cpp
-popd
-
-# process the note head style names
-STYLEDIR=$DATADIR/styles
-pushd $STYLEDIR
-ls *.xml | perl -e 'while (<STDIN>) { if(/(.*)\.xml/) { print "i18n(\"$1\")\;\n";} }' > styles.cpp
-popd
-
-# extract the strings
-$XGETTEXT `find $SRCDIR \( -name "*.cpp" -o -name "*.h" \)` rc.cpp $TIPSDIR/tips.cpp $FONTSDIR/fonts.cpp $STYLEDIR/styles.cpp -o tmp.pot
-
-# remove the intermediate files
-rm -f $TIPSDIR/tips.cpp
-rm -f $FONTSDIR/fonts.cpp
-rm -f $STYLEDIR/styles.cpp
-rm -f rc.cpp
-rm -f $SRCDIR/_translatorinfo.cpp
-
-## now merge the .po files ..
-echo "merging the .po files"
-
-for i in `ls *.po`; do
- echo $i
- msgmerge $i tmp.pot -o $i || exit 1
-done
-
-# replacing the old template by the new one
-rm -f rosegarden.pot
-mv tmp.pot rosegarden.pot
-
-## finished
-echo "Done"
diff --git a/po/nl.po b/po/nl/rosegarden.po
index a9f16e7..a9f16e7 100644
--- a/po/nl.po
+++ b/po/nl/rosegarden.po
diff --git a/po/pl.po b/po/pl/rosegarden.po
index 552713c..552713c 100644
--- a/po/pl.po
+++ b/po/pl/rosegarden.po
diff --git a/po/ru.po b/po/ru/rosegarden.po
index 66b0e6b..66b0e6b 100644
--- a/po/ru.po
+++ b/po/ru/rosegarden.po
diff --git a/po/sv.po b/po/sv/rosegarden.po
index 9bf64d6..9bf64d6 100644
--- a/po/sv.po
+++ b/po/sv/rosegarden.po
diff --git a/po/xgettext b/po/xgettext
deleted file mode 100755
index 1308a2e..0000000
--- a/po/xgettext
+++ /dev/null
Binary files differ
diff --git a/po/zh_CN.po b/po/zh_CN/rosegarden.po
index f0fbb67..f0fbb67 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN/rosegarden.po
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 63ae687..d3b652b 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,221 +1,152 @@
-IF(NOT ROSEGARDEN_SOURCE_DIR)
- MESSAGE(FATAL_ERROR "You need to run cmake or ccmake at the root directory")
-ENDIF(NOT ROSEGARDEN_SOURCE_DIR)
-
-IF(USE_PCH)
- ADD_PRECOMPILED_HEADER(precompiled_headers misc/stableheaders.h)
-ENDIF(USE_PCH)
-
-LINK_DIRECTORIES(
- ${KDE3_LIB_DIR}
- ${ALSA_LIB_DIR}
- ${JACK_LIB_DIR}
- ${XFT_LIB_DIR}
- ${LIBLO_LIB_DIR}
- ${LRDF_LIB_DIR}
- ${LIRC_LIB_DIR}
- ${FFTW3F_LIB_DIR}
+#################################################
+#
+# (C) 2011 Timothy Pearson
+# kb9vqf (AT) pearsoncomputing.net
+#
+# Improvements and feedback are welcome
+#
+# This file is released under GPL >= 2
+#
+#################################################
+
+include_directories(
+ ${TQT_INCLUDE_DIRS}
+ ${TDE_INCLUDE_DIR}
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_BINARY_DIR}/src
+ ${CMAKE_SOURCE_DIR}/src
+ ${ALSA_INC_DIR}
+ ${JACK_INC_DIR}
+ ${XFT_INC_DIR}
+ ${DSSI_INC_DIR}
+ ${LIBLO_INC_DIR}
+ ${LADSPA_INC_DIR}
+ ${LRDF_INC_DIR}
+ ${LIRC_INC_DIR}
+ ${FFTW3F_INC_DIR}
)
-INCLUDE_DIRECTORIES(AFTER
- ${QT_INCLUDE_DIR}
- ${KDE3_INCLUDE_DIR}
- ${ALSA_INC_DIR}
- ${JACK_INC_DIR}
- ${XFT_INC_DIR}
- ${DSSI_INC_DIR}
- ${LIBLO_INC_DIR}
- ${LADSPA_INC_DIR}
- ${LRDF_INC_DIR}
- ${LIRC_INC_DIR}
- ${FFTW3F_INC_DIR}
- base
+link_directories(
+ ${TQT_LIBRARY_DIRS}
+ ${TDE_LIBRARY_DIR}
+ ${ALSA_LIB_DIR}
+ ${JACK_LIB_DIR}
+ ${XFT_LIB_DIR}
+ ${LIBLO_LIB_DIR}
+ ${LRDF_LIB_DIR}
+ ${LIRC_LIB_DIR}
+ ${FFTW3F_LIB_DIR}
)
-SET(CMAKE_INCLUDE_PATH ".")
+##### include cmake file lists ##################
+
+set( CMAKE_INCLUDE_PATH "." )
# Common sources
-INCLUDE(BaseFileList.txt)
-INCLUDE(MiscFileList.txt)
+include( BaseFileList.txt )
+include( MiscFileList.txt )
# Sound sources
-INCLUDE(SoundFileList.txt)
+include( SoundFileList.txt )
-KDE3_AUTOMOC(${common_sound_SRCS})
+# sequencer executable
+include( SequencerFileList.txt )
-ADD_LIBRARY(RosegardenCommon STATIC
- ${misc_SRCS}
- ${base_SRCS}
- ${common_sound_SRCS}
-)
+# gui executable
+include( GUIFileList.txt )
-TARGET_LINK_LIBRARIES(RosegardenCommon
- dl
-)
+##### other data ################################
-IF(USE_PCH)
- ADD_DEPENDENCIES(RosegardenCommon precompiled_headers)
-ENDIF(USE_PCH)
+# Install helper scripts
+install( PROGRAMS
+ helpers/rosegarden-lilypondview
+ helpers/rosegarden-project-package
+ helpers/rosegarden-audiofile-importer
+ DESTINATION ${BIN_INSTALL_DIR} )
-# sequencer executable
-INCLUDE(SequencerFileList.txt)
+# Install GUI resource files
+file( GLOB RC_FILES gui/ui/*.rc )
+install( FILES ${RC_FILES} DESTINATION ${DATA_INSTALL_DIR}/rosegarden )
-IF(WANT_SOUND)
- SET(snd_SRCS ${sound_SRCS})
-ELSE(WANT_SOUND)
- SET(snd_SRCS ${nosnd_SRCS})
-ENDIF(WANT_SOUND)
-KDE3_ADD_DCOP_SKELS(sequencer_SRCS ${seq_dcop_SRCS})
-KDE3_ADD_DCOP_STUBS(sequencer_SRCS ${seq_dcop_SRCS})
-KDE3_AUTOMOC(${sequencer_SRCS})
+##### RosegardenCommon ##############################
-KDE3_ADD_EXECUTABLE(rosegardensequencer
- ${snd_SRCS}
- ${sequencer_SRCS}
+tde_add_library( RosegardenCommon STATIC AUTOMOC
+ SOURCES ${${misc_SRCS} ${base_SRCS} ${common_sound_SRCS}}
+ LINK dl
+ DESTINATION ${LIB_INSTALL_DIR}
)
-IF(USE_PCH)
- ADD_DEPENDENCIES(rosegardensequencer precompiled_headers)
-ENDIF(USE_PCH)
-
-TARGET_LINK_LIBRARIES(rosegardensequencer
- dl
- ${QT_AND_TDECORE_LIBS}
- ${ALSA_LIBS}
- ${JACK_LIBS}
- ${LIBLO_LIBS}
- ${LRDF_LIBS}
- ${FFTW3F_LIBS}
- tdeui
- RosegardenCommon
-)
-# gui executable
-INCLUDE(GUIFileList.txt)
-
-KDE3_ADD_DCOP_SKELS(gui_SRCS ${gui_dcop_SRCS})
-KDE3_ADD_DCOP_STUBS(gui_SRCS ${gui_dcop_SRCS})
-KDE3_ADD_UI_FILES(gui_SRCS ${ui_SRCS})
-KDE3_AUTOMOC(${gui_SRCS})
-KDE3_AUTOMOC(${segmentcanvas_SRCS})
-KDE3_AUTOMOC(${commands_SRCS})
-KDE3_AUTOMOC(${document_SRCS})
-
-ADD_LIBRARY(RosegardenExtended STATIC
- ${document_SRCS}
- ${gui_SRCS}
-)
+##### rosegardensequencer ###########################
-TARGET_LINK_LIBRARIES(RosegardenExtended
- dl
- lo
-)
+if( WANT_SOUND )
+ set( snd_SRCS ${sound_SRCS} )
+else( WANT_SOUND )
+ set( snd_SRCS ${nosnd_SRCS} )
+endif( WANT_SOUND )
-ADD_LIBRARY(RosegardenCommands STATIC
- ${commands_SRCS}
+tde_add_executable( rosegardensequencer AUTOMOC
+ SOURCES ${${seq_dcop_SRCS} ${snd_SRCS} ${sequencer_SRCS}}
+ LINK dl tdecore-shared ${ALSA_LIBS} ${JACK_LIBS} ${LIBLO_LIBS} ${LRDF_LIBS} ${FFTW3F_LIBS} tdeui-shared RosegardenCommon
+ DESTINATION ${BIN_INSTALL_DIR}
)
-IF(USE_PCH)
- ADD_DEPENDENCIES(RosegardenExtended precompiled_headers)
-ENDIF(USE_PCH)
-IF(USE_PCH)
- ADD_DEPENDENCIES(RosegardenCommands precompiled_headers)
-ENDIF(USE_PCH)
+##### RosegardenExtended ############################
-ADD_LIBRARY(RosegardenSegmentCanvas STATIC
- ${segmentcanvas_SRCS}
+tde_add_library( RosegardenExtended STATIC AUTOMOC
+ SOURCES ${${document_SRCS} ${gui_SRCS} ${gui_dcop_SRCS} ${ui_SRCS}}
+ LINK dl lo
+ DESTINATION ${LIB_INSTALL_DIR}
)
-IF(USE_PCH)
- ADD_DEPENDENCIES(RosegardenSegmentCanvas precompiled_headers)
-ENDIF(USE_PCH)
+##### RosegardenCommands ############################
+
+tde_add_library( RosegardenCommands STATIC AUTOMOC
+ SOURCES ${${commands_SRCS}}
+# LINK dl
+ DESTINATION ${LIB_INSTALL_DIR}
+)
-KDE3_ADD_EXECUTABLE(rosegarden
- #${commands_SRCS}
- #${document_SRCS}
- #${gui_SRCS}
- #${segmentcanvas_SRCS}
- gui/application/main.cpp
+##### RosegardenSegmentCanvas #######################
+
+tde_add_library( RosegardenSegmentCanvas STATIC AUTOMOC
+ SOURCES ${${segmentcanvas_SRCS}}
+# LINK dl
+ DESTINATION ${LIB_INSTALL_DIR}
)
-IF(USE_PCH)
- ADD_DEPENDENCIES(rosegarden precompiled_headers)
-ENDIF(USE_PCH)
-
-TARGET_LINK_LIBRARIES(rosegarden
- dl
- lo
- ${QT_AND_TDECORE_LIBS}
- ${LIBLO_LIBS}
- ${LRDF_LIBS}
- ${FFTW3F_LIBS}
- ${XFT_LIBS}
- ${LIRC_LIBS}
- ${JACK_LIBS}
- kio
- tdeui
- tdeprint
- RosegardenExtended
- RosegardenSegmentCanvas
- RosegardenCommands
- RosegardenCommon
+
+##### rosegarden ####################################
+
+tde_add_executable( rosegarden AUTOMOC
+ SOURCES ${gui/application/main.cpp}
+ LINK dl lo tdecore-shared ${LIBLO_LIBS} ${LRDF_LIBS} ${FFTW3F_LIBS} ${XFT_LIBS} ${LIRC_LIBS} ${JACK_LIBS} kio-shared tdeui-shared tdeprint-shared RosegardenExtended RosegardenSegmentCanvas RosegardenCommands RosegardenCommon
+ DESTINATION ${BIN_INSTALL_DIR}
)
-# Install targets
-INSTALL(TARGETS rosegarden rosegardensequencer
- RUNTIME DESTINATION ${KDE3EXECDIR} )
+if( WANT_TEST )
+ include( TestFileList.txt )
-# Install helper scripts
-INSTALL(PROGRAMS
- helpers/rosegarden-lilypondview
- helpers/rosegarden-project-package
- helpers/rosegarden-audiofile-importer
- DESTINATION ${KDE3EXECDIR} )
+ CREATE_TEST_SOURCELIST(RosegardenTest
+ RosegardenTestDriver.cpp
+ ${tests_SRCS}
+# base/test/transpose.cpp
+# base/test/segmenttransposecommand.cpp
+ )
-# Install GUI resource files
-FILE(GLOB RC_FILES gui/ui/*.rc)
-INSTALL(FILES ${RC_FILES}
- DESTINATION ${KDE3DATADIR}/rosegarden )
-
-IF(WANT_TEST)
- INCLUDE(TestFileList.txt)
-
- CREATE_TEST_SOURCELIST(RosegardenTest
- RosegardenTestDriver.cpp
- ${tests_SRCS}
-# base/test/transpose.cpp
-# base/test/segmenttransposecommand.cpp
- )
-
- KDE3_ADD_EXECUTABLE(RosegardenTestDriver
- RosegardenTestDriver.cpp
- ${tests_SRCS}
- )
-
- TARGET_LINK_LIBRARIES(RosegardenTestDriver
- dl
- ${QT_AND_TDECORE_LIBS}
- ${LIBLO_LIBS}
- ${LRDF_LIBS}
- ${FFTW3F_LIBS}
- ${XFT_LIBS}
- ${LIRC_LIBS}
- ${JACK_LIBS}
- kio
- tdeui
- tdeprint
- RosegardenExtended
- RosegardenSegmentCanvas
- RosegardenCommands
- RosegardenCommon
- )
- FOREACH(currenttest ${tests_SRCS})
- GET_FILENAME_COMPONENT(TestName ${currenttest} NAME_WE)
- ADD_TEST(test/${TestName} RosegardenTestDriver test/${TestName})
- ENDFOREACH(currenttest ${tests_SRCS})
-ENDIF(WANT_TEST)
+ tde_add_executable( RosegardenTestDriver AUTOMOC
+ SOURCES ${RosegardenTestDriver.cpp ${tests_SRCS}}
+ LINK dl lo tdecore-shared ${LIBLO_LIBS} ${LRDF_LIBS} ${FFTW3F_LIBS} ${XFT_LIBS} ${LIRC_LIBS} ${JACK_LIBS} kio-shared tdeui-shared tdeprint-shared RosegardenExtended RosegardenSegmentCanvas RosegardenCommands RosegardenCommon
+ DESTINATION ${BIN_INSTALL_DIR}
+)
+
+ FOREACH(currenttest ${tests_SRCS})
+ GET_FILENAME_COMPONENT(TestName ${currenttest} NAME_WE)
+ ADD_TEST(test/${TestName} RosegardenTestDriver test/${TestName})
+ ENDFOREACH(currenttest ${tests_SRCS})
+endif( WANT_TEST )