mirror of
https://bitbucket.org/smil3y/kde-extraapps.git
synced 2025-02-24 10:52:53 +00:00
236 lines
7 KiB
CMake
236 lines
7 KiB
CMake
project(kmix)
|
|
|
|
find_package(KDE4 4.14.3 REQUIRED)
|
|
include(KDE4Defaults)
|
|
include(MacroLibrary)
|
|
|
|
# Do not yet REQUIRE Phonon. Hint: As long as we do not find_package(), ${KDE4_PHONON_LIBS} will be empty below, but that should not hurt.
|
|
#find_package(Phonon REQUIRED)
|
|
|
|
find_package(Alsa)
|
|
|
|
set(PA_VER "0.9.16")
|
|
macro_optional_find_package(PulseAudio "${PA_VER}")
|
|
macro_log_feature(PULSEAUDIO_FOUND "PulseAudio" "PulseAudio Audio Server"
|
|
"http://www.pulseaudio.org/" FALSE "${PA_VER}" "libpulse is needed to let KMix control PulseAudio")
|
|
find_package(GLIB2)
|
|
macro_optional_find_package(Canberra)
|
|
macro_log_feature(CANBERRA_FOUND "libcanberra" "libcanberra audio library"
|
|
"http://0pointer.de/lennart/projects/libcanberra/" FALSE "" "libcanberra is needed for kmix sound feedback")
|
|
|
|
alsa_configure_file(${CMAKE_BINARY_DIR}/config-alsa.h)
|
|
|
|
|
|
add_definitions (${QT_DEFINITIONS} ${QT_QTDBUS_DEFINITIONS} ${KDE4_DEFINITIONS} )
|
|
add_definitions(-DKDE_DEFAULT_DEBUG_AREA=67100)
|
|
|
|
include_directories(${KDE4_INCLUDES} ${GLIB2_INCLUDE_DIR} /usr/lib/oss/include)
|
|
|
|
|
|
include(CheckCXXSourceCompiles)
|
|
check_cxx_source_compiles("
|
|
#include <memory>
|
|
int main() { std::shared_ptr<int> p; return 0; }
|
|
" HAVE_STD_SHARED_PTR)
|
|
check_cxx_source_compiles("
|
|
#include <tr1/memory>
|
|
int main() { std::tr1::shared_ptr<int> p; return 0; }
|
|
" HAVE_STD_TR1_SHARED_PTR)
|
|
|
|
|
|
configure_file(config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h)
|
|
|
|
add_subdirectory( pics )
|
|
add_subdirectory( profiles )
|
|
#add_subdirectory( tests )
|
|
|
|
if (PULSEAUDIO_FOUND)
|
|
add_definitions(-DHAVE_PULSE)
|
|
include_directories(${PULSEAUDIO_INCLUDE_DIR})
|
|
endif (PULSEAUDIO_FOUND)
|
|
|
|
if (CANBERRA_FOUND)
|
|
add_definitions(-DHAVE_CANBERRA)
|
|
include_directories(${CANBERRA_INCLUDE_DIRS})
|
|
endif (CANBERRA_FOUND)
|
|
|
|
|
|
set(kmix_adaptor_SRCS
|
|
dbus/dbusmixerwrapper.cpp
|
|
dbus/dbusmixsetwrapper.cpp
|
|
dbus/dbuscontrolwrapper.cpp)
|
|
qt4_add_dbus_adaptor( kmix_adaptor_SRCS dbus/org.kde.kmix.control.xml
|
|
dbus/dbuscontrolwrapper.h DBusControlWrapper )
|
|
qt4_add_dbus_adaptor( kmix_adaptor_SRCS dbus/org.kde.kmix.mixer.xml
|
|
dbus/dbusmixerwrapper.h DBusMixerWrapper )
|
|
qt4_add_dbus_adaptor( kmix_adaptor_SRCS dbus/org.kde.kmix.mixset.xml
|
|
dbus/dbusmixsetwrapper.h DBusMixSetWrapper )
|
|
|
|
set(kmix_backend_SRCS
|
|
backends/mixer_backend.cpp
|
|
backends/mixer_mpris2.cpp
|
|
)
|
|
|
|
if (HAVE_LIBASOUND2)
|
|
set(kmix_backend_SRCS ${kmix_backend_SRCS}
|
|
backends/mixer_alsa9.cpp )
|
|
endif (HAVE_LIBASOUND2)
|
|
|
|
if (PULSEAUDIO_FOUND)
|
|
set(kmix_backend_SRCS ${kmix_backend_SRCS}
|
|
backends/mixer_pulse.cpp )
|
|
endif (PULSEAUDIO_FOUND)
|
|
|
|
set(kmix_SRCS ${kmix_adaptor_SRCS} ${kmix_backend_SRCS}
|
|
apps/main.cpp
|
|
apps/kmix.cpp
|
|
apps/KMixApp.cpp
|
|
gui/kmixdockwidget.cpp
|
|
gui/kmixprefdlg.cpp
|
|
gui/viewbase.cpp
|
|
gui/viewdockareapopup.cpp
|
|
gui/viewsliders.cpp
|
|
gui/mixdevicewidget.cpp
|
|
gui/mdwmoveaction.cpp
|
|
gui/mdwslider.cpp
|
|
gui/mdwenum.cpp
|
|
gui/kmixerwidget.cpp
|
|
gui/ksmallslider.cpp
|
|
gui/verticaltext.cpp
|
|
gui/volumeslider.cpp
|
|
gui/kmixtoolbox.cpp
|
|
gui/dialogaddview.cpp
|
|
gui/dialogviewconfiguration.cpp
|
|
gui/dialogselectmaster.cpp
|
|
gui/dialogchoosebackends.cpp
|
|
gui/guiprofile.cpp
|
|
gui/osdwidget.cpp
|
|
core/MediaController.cpp
|
|
core/mixertoolbox.cpp
|
|
core/kmixdevicemanager.cpp
|
|
core/ControlManager.cpp
|
|
# core/ControlPool.cpp
|
|
core/GlobalConfig.cpp
|
|
core/MasterControl.cpp
|
|
core/mixer.cpp
|
|
core/mixset.cpp
|
|
core/mixdevice.cpp
|
|
core/mixdevicecomposite.cpp
|
|
core/volume.cpp
|
|
)
|
|
|
|
add_executable(kmix ${kmix_SRCS})
|
|
|
|
target_link_libraries(kmix ${KDE4_SOLID_LIBS} ${KDE4_KDEUI_LIBS} ${KDE4_PLASMA_LIBS} ${QT_QTXML_LIBRARY} ${KDE4_PHONON_LIBS})
|
|
|
|
if (HAVE_LIBASOUND2)
|
|
target_link_libraries(kmix ${ASOUND_LIBRARY})
|
|
endif (HAVE_LIBASOUND2)
|
|
|
|
if (PULSEAUDIO_FOUND)
|
|
target_link_libraries(kmix ${PULSEAUDIO_LIBRARY} ${PULSEAUDIO_MAINLOOP_LIBRARY} ${GLIB2_LIBRARIES})
|
|
endif (PULSEAUDIO_FOUND)
|
|
|
|
if (CANBERRA_FOUND)
|
|
target_link_libraries(kmix ${CANBERRA_LIBRARIES})
|
|
endif (CANBERRA_FOUND)
|
|
|
|
install(TARGETS kmix DESTINATION ${LIB_INSTALL_DIR} )
|
|
|
|
install(TARGETS kmix ${INSTALL_TARGETS_DEFAULT_ARGS} )
|
|
|
|
########### next target ###############
|
|
|
|
set(kded_kmixd_SRCS ${kmix_adaptor_SRCS} ${kmix_backend_SRCS}
|
|
apps/kmixd.cpp
|
|
core/ControlManager.cpp
|
|
# core/ControlPool.cpp
|
|
core/GlobalConfig.cpp
|
|
core/MasterControl.cpp
|
|
core/MediaController.cpp
|
|
core/mixer.cpp
|
|
core/mixset.cpp
|
|
core/mixdevice.cpp
|
|
core/volume.cpp
|
|
core/mixertoolbox.cpp
|
|
core/kmixdevicemanager.cpp
|
|
)
|
|
|
|
#qt4_add_dbus_adaptor(kded_kmixd_SRCS org.kde.KMixD.xml kmixd.h Mixer)
|
|
|
|
kde4_add_plugin(kded_kmixd ${kded_kmixd_SRCS})
|
|
|
|
|
|
target_link_libraries(kded_kmixd ${KDE4_KDEUI_LIBS} ${KDE4_SOLID_LIBS} ${QT_QTXML_LIBRARY} ${KDE4_PHONON_LIBS})
|
|
|
|
if (HAVE_LIBASOUND2)
|
|
target_link_libraries(kded_kmixd ${ASOUND_LIBRARY})
|
|
endif (HAVE_LIBASOUND2)
|
|
|
|
if (PULSEAUDIO_FOUND)
|
|
target_link_libraries(kded_kmixd ${PULSEAUDIO_LIBRARY} ${PULSEAUDIO_MAINLOOP_LIBRARY} ${GLIB2_LIBRARIES})
|
|
endif (PULSEAUDIO_FOUND)
|
|
|
|
if (CANBERRA_FOUND)
|
|
target_link_libraries(kded_kmixd ${CANBERRA_LIBRARIES})
|
|
endif (CANBERRA_FOUND)
|
|
|
|
install(TARGETS kded_kmixd DESTINATION ${PLUGIN_INSTALL_DIR})
|
|
|
|
#target_link_libraries( kmixd kded_kmixd )
|
|
#install(TARGETS kmixd DESTINATION ${PLUGIN_INSTALL_DIR} )
|
|
|
|
install( FILES kmixd.desktop DESTINATION ${SERVICES_INSTALL_DIR}/kded )
|
|
|
|
########### next target ###############
|
|
|
|
set(kmixctrl_SRCS ${kmix_adaptor_SRCS} ${kmix_backend_SRCS}
|
|
apps/kmixctrl.cpp
|
|
core/ControlManager.cpp
|
|
# core/ControlPool.cpp
|
|
core/GlobalConfig.cpp
|
|
core/MasterControl.cpp
|
|
core/MediaController.cpp
|
|
core/mixer.cpp
|
|
core/mixset.cpp
|
|
core/mixdevice.cpp
|
|
core/volume.cpp
|
|
core/mixertoolbox.cpp
|
|
core/kmixdevicemanager.cpp
|
|
)
|
|
|
|
# gui/guiprofile.cpp
|
|
|
|
|
|
add_executable(kmixctrl ${kmixctrl_SRCS})
|
|
|
|
target_link_libraries(kmixctrl ${KDE4_KDEUI_LIBS} ${KDE4_SOLID_LIBS} ${QT_QTXML_LIBRARY} ${KDE4_PHONON_LIBS})
|
|
|
|
if (HAVE_LIBASOUND2)
|
|
target_link_libraries(kmixctrl ${ASOUND_LIBRARY})
|
|
endif (HAVE_LIBASOUND2)
|
|
|
|
if (PULSEAUDIO_FOUND)
|
|
target_link_libraries(kmixctrl ${PULSEAUDIO_LIBRARY} ${PULSEAUDIO_MAINLOOP_LIBRARY} ${GLIB2_LIBRARIES})
|
|
endif (PULSEAUDIO_FOUND)
|
|
|
|
if (CANBERRA_FOUND)
|
|
target_link_libraries(kmixctrl ${CANBERRA_LIBRARIES})
|
|
endif (CANBERRA_FOUND)
|
|
|
|
########### next target ###############
|
|
add_subdirectory( plasma )
|
|
|
|
install( TARGETS kmixctrl DESTINATION ${LIB_INSTALL_DIR} )
|
|
|
|
install( TARGETS kmixctrl ${INSTALL_TARGETS_DEFAULT_ARGS} )
|
|
|
|
install( PROGRAMS kmix.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} )
|
|
install( PROGRAMS apps/kmixremote DESTINATION ${BIN_INSTALL_DIR} )
|
|
install( FILES restore_kmix_volumes.desktop DESTINATION ${AUTOSTART_INSTALL_DIR})
|
|
install( FILES kmix_autostart.desktop DESTINATION ${AUTOSTART_INSTALL_DIR})
|
|
install( FILES kmixui.rc DESTINATION ${DATA_INSTALL_DIR}/kmix )
|
|
install( FILES kmixctrl_restore.desktop DESTINATION ${SERVICES_INSTALL_DIR} )
|
|
install( FILES dbus/org.kde.kmix.control.xml DESTINATION ${DBUS_INTERFACES_INSTALL_DIR} )
|
|
install( FILES dbus/org.kde.kmix.mixer.xml DESTINATION ${DBUS_INTERFACES_INSTALL_DIR} )
|
|
install( FILES dbus/org.kde.kmix.mixset.xml DESTINATION ${DBUS_INTERFACES_INSTALL_DIR} )
|