diff options
Diffstat (limited to 'src/CMakeLists.txt')
-rw-r--r-- | src/CMakeLists.txt | 208 |
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) + |