You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
rosegarden/src/CMakeLists.txt

209 lines
4.4 KiB

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)