summaryrefslogtreecommitdiffstats
path: root/src/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'src/CMakeLists.txt')
-rw-r--r--src/CMakeLists.txt208
1 files changed, 208 insertions, 0 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
new file mode 100644
index 0000000..d942e71
--- /dev/null
+++ b/src/CMakeLists.txt
@@ -0,0 +1,208 @@
+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}
+)
+
+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
+)
+
+SET(CMAKE_INCLUDE_PATH ".")
+
+# Common sources
+INCLUDE(BaseFileList.txt)
+INCLUDE(MiscFileList.txt)
+
+# Sound sources
+INCLUDE(SoundFileList.txt)
+
+KDE3_AUTOMOC(${common_sound_SRCS})
+
+ADD_LIBRARY(RosegardenCommon STATIC
+ ${misc_SRCS}
+ ${base_SRCS}
+ ${common_sound_SRCS}
+)
+
+IF(USE_PCH)
+ ADD_DEPENDENCIES(RosegardenCommon precompiled_headers)
+ENDIF(USE_PCH)
+
+# sequencer executable
+INCLUDE(SequencerFileList.txt)
+
+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})
+
+KDE3_ADD_EXECUTABLE(rosegardensequencer
+ ${snd_SRCS}
+ ${sequencer_SRCS}
+)
+
+IF(USE_PCH)
+ ADD_DEPENDENCIES(rosegardensequencer precompiled_headers)
+ENDIF(USE_PCH)
+
+TARGET_LINK_LIBRARIES(rosegardensequencer
+ ${QT_AND_KDECORE_LIBS}
+ ${ALSA_LIBS}
+ ${JACK_LIBS}
+ ${LIBLO_LIBS}
+ ${LRDF_LIBS}
+ ${FFTW3F_LIBS}
+ kdeui
+ 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}
+)
+
+ADD_LIBRARY(RosegardenCommands STATIC
+ ${commands_SRCS}
+)
+
+IF(USE_PCH)
+ ADD_DEPENDENCIES(RosegardenExtended precompiled_headers)
+ENDIF(USE_PCH)
+
+IF(USE_PCH)
+ ADD_DEPENDENCIES(RosegardenCommands precompiled_headers)
+ENDIF(USE_PCH)
+
+ADD_LIBRARY(RosegardenSegmentCanvas STATIC
+ ${segmentcanvas_SRCS}
+)
+
+IF(USE_PCH)
+ ADD_DEPENDENCIES(RosegardenSegmentCanvas precompiled_headers)
+ENDIF(USE_PCH)
+
+
+
+KDE3_ADD_EXECUTABLE(rosegarden
+ #${commands_SRCS}
+ #${document_SRCS}
+ #${gui_SRCS}
+ #${segmentcanvas_SRCS}
+ gui/application/main.cpp
+)
+
+IF(USE_PCH)
+ ADD_DEPENDENCIES(rosegarden precompiled_headers)
+ENDIF(USE_PCH)
+
+TARGET_LINK_LIBRARIES(rosegarden
+ ${QT_AND_KDECORE_LIBS}
+ ${LIBLO_LIBS}
+ ${LRDF_LIBS}
+ ${FFTW3F_LIBS}
+ ${XFT_LIBS}
+ ${LIRC_LIBS}
+ ${JACK_LIBS}
+ kio
+ kdeui
+ kdeprint
+ RosegardenExtended
+ RosegardenSegmentCanvas
+ RosegardenCommands
+ RosegardenCommon
+)
+
+# Install targets
+INSTALL(TARGETS rosegarden rosegardensequencer
+ RUNTIME DESTINATION ${KDE3EXECDIR} )
+
+# Install helper scripts
+INSTALL(PROGRAMS
+ helpers/rosegarden-lilypondview
+ helpers/rosegarden-project-package
+ helpers/rosegarden-audiofile-importer
+ DESTINATION ${KDE3EXECDIR} )
+
+# 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
+ ${QT_AND_KDECORE_LIBS}
+ ${LIBLO_LIBS}
+ ${LRDF_LIBS}
+ ${FFTW3F_LIBS}
+ ${XFT_LIBS}
+ ${LIRC_LIBS}
+ ${JACK_LIBS}
+ kio
+ kdeui
+ kdeprint
+ 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)
+