From 796a887cf88c1ad23ab06e89435ca1e04080aaee Mon Sep 17 00:00:00 2001 From: Pete Woods Date: Fri, 16 Aug 2013 04:13:41 +0100 Subject: Build using cmake --- src/CMakeLists.txt | 128 ++++++++++++++++++++++++++++++++++++++++++++++++++++ src/Makefile.am | 37 --------------- src/service.vala | 3 -- src/sound-menu.vala | 3 ++ 4 files changed, 131 insertions(+), 40 deletions(-) create mode 100644 src/CMakeLists.txt delete mode 100644 src/Makefile.am (limited to 'src') diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt new file mode 100644 index 0000000..21931b9 --- /dev/null +++ b/src/CMakeLists.txt @@ -0,0 +1,128 @@ + +########################### +# Vala Generation +########################### + +set(HEADER_PATH "${CMAKE_CURRENT_BINARY_DIR}/indicator-sound-service.h") +set(SYMBOLS_PATH "${CMAKE_CURRENT_BINARY_DIR}/indicator-sound-service.def") + +vala_init(indicator-sound-service + PACKAGES + config + gio-2.0 + gio-unix-2.0 + libxml-2.0 + libpulse + libpulse-mainloop-glib + OPTIONS + --ccode + --thread + --vapidir=${CMAKE_SOURCE_DIR}/vapi/ + --vapidir=. + --target-glib=2.36 +) + +vala_add(indicator-sound-service + service.vala + DEPENDS + sound-menu + volume-control + media-player + media-player-list +) +vala_add(indicator-sound-service + main.vala + DEPENDS + service +) +vala_add(indicator-sound-service + volume-control.vala +) +vala_add(indicator-sound-service + media-player.vala + DEPENDS + mpris2-interfaces +) +vala_add(indicator-sound-service + media-player-list.vala + DEPENDS + media-player + mpris2-watcher +) +vala_add(indicator-sound-service + mpris2-interfaces.vala +) +vala_add(indicator-sound-service + mpris2-watcher.vala + DEPENDS + media-player + mpris2-interfaces + freedesktop-interfaces +) +vala_add(indicator-sound-service + freedesktop-interfaces.vala +) +vala_add(indicator-sound-service + sound-menu.vala + DEPENDS + media-player +) + +vala_finish(indicator-sound-service + SOURCES + project_VALA_SOURCES + OUTPUTS + project_VALA_C + GENERATE_HEADER + ${HEADER_PATH} + GENERATE_SYMBOLS + ${SYMBOLS_PATH} +) + +set_source_files_properties( + ${project_VALA_SOURCES} + PROPERTIES + HEADER_FILE_ONLY TRUE +) + +set( + INDICATOR_SOUND_SOURCES + ${project_VALA_SOURCES} + ${project_VALA_C} + ${SYMBOLS_PATH} +) + +########################### +# Executable +########################### + +add_definitions( + -w +) + +add_executable( + indicator-sound-service-bin + ${INDICATOR_SOUND_SOURCES} +) + +set_target_properties( + indicator-sound-service-bin + PROPERTIES + OUTPUT_NAME "indicator-sound-service" +) + +target_link_libraries( + indicator-sound-service-bin + ${PULSEAUDIO_LIBRARIES} + ${SOUNDSERVICE_LIBRARIES} +) + +########################### +# Installation +########################### + +install( + TARGETS indicator-sound-service-bin + RUNTIME DESTINATION ${CMAKE_INSTALL_LIBEXECDIR} +) + diff --git a/src/Makefile.am b/src/Makefile.am deleted file mode 100644 index 8af02ce..0000000 --- a/src/Makefile.am +++ /dev/null @@ -1,37 +0,0 @@ -pkglibexec_PROGRAMS = indicator-sound-service - -indicator_sound_service_SOURCES = \ - service.vala \ - main.vala \ - volume-control.vala \ - media-player.vala \ - media-player-list.vala \ - mpris2-interfaces.vala \ - mpris2-watcher.vala \ - freedesktop-interfaces.vala \ - sound-menu.vala - -indicator_sound_service_VALAFLAGS = \ - --ccode \ - --vapidir=$(top_srcdir)/vapi/ \ - --vapidir=./ \ - --thread \ - --pkg config \ - --pkg gio-2.0 \ - --pkg gio-unix-2.0 \ - --pkg libxml-2.0 \ - --pkg libpulse \ - --pkg libpulse-mainloop-glib \ - --target-glib=2.36 - -# -w to disable warnings for vala-generated code -indicator_sound_service_CFLAGS = $(PULSEAUDIO_CFLAGS) \ - $(SOUNDSERVICE_CFLAGS) \ - $(GCONF_CFLAGS) \ - $(COVERAGE_CFLAGS) \ - -DLIBEXECDIR=\"$(libexecdir)\" \ - -w \ - -DGETTEXT_PACKAGE=\"$(GETTEXT_PACKAGE)\" - -indicator_sound_service_LDADD = $(PULSEAUDIO_LIBS) $(SOUNDSERVICE_LIBS) $(GCONF_LIBS) -indicator_sound_service_LDFLAGS = $(COVERAGE_LDFLAGS) diff --git a/src/service.vala b/src/service.vala index 690fdce..ac3ba5b 100644 --- a/src/service.vala +++ b/src/service.vala @@ -17,9 +17,6 @@ * Lars Uebernickel */ -/* Icon.serialize() is not yet in gio-2.0.vapi; remove this when it is */ -extern Variant? g_icon_serialize (Icon icon); - public class IndicatorSound.Service { public Service () { this.settings = new Settings ("com.canonical.indicator.sound"); diff --git a/src/sound-menu.vala b/src/sound-menu.vala index de5500e..415a5be 100644 --- a/src/sound-menu.vala +++ b/src/sound-menu.vala @@ -17,6 +17,9 @@ * Lars Uebernickel */ +/* Icon.serialize() is not yet in gio-2.0.vapi; remove this when it is */ +extern Variant? g_icon_serialize (Icon icon); + class SoundMenu: Object { public SoundMenu (string settings_action) { -- cgit v1.2.3 From 0660fc4e9439b99ac3b75d656b2e60b629e3e745 Mon Sep 17 00:00:00 2001 From: Pete Woods Date: Fri, 16 Aug 2013 04:58:55 +0100 Subject: Clean up the build / installation --- src/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 21931b9..ec43b8f 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -123,6 +123,6 @@ target_link_libraries( install( TARGETS indicator-sound-service-bin - RUNTIME DESTINATION ${CMAKE_INSTALL_LIBEXECDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}/indicator-sound/ ) -- cgit v1.2.3