aboutsummaryrefslogtreecommitdiff
path: root/libmessaging-menu
diff options
context:
space:
mode:
Diffstat (limited to 'libmessaging-menu')
-rw-r--r--libmessaging-menu/CMakeLists.txt101
-rw-r--r--libmessaging-menu/Makefile.am76
-rw-r--r--libmessaging-menu/messaging-menu.pc.in10
3 files changed, 106 insertions, 81 deletions
diff --git a/libmessaging-menu/CMakeLists.txt b/libmessaging-menu/CMakeLists.txt
new file mode 100644
index 0000000..2d3d6ac
--- /dev/null
+++ b/libmessaging-menu/CMakeLists.txt
@@ -0,0 +1,101 @@
+# messaging-menu.pc
+
+configure_file("${CMAKE_CURRENT_SOURCE_DIR}/messaging-menu.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/messaging-menu.pc" @ONLY)
+install(FILES "${CMAKE_CURRENT_BINARY_DIR}/messaging-menu.pc" DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}/pkgconfig")
+
+# messaging-menu-app.h
+# messaging-menu-message.h
+# messaging-menu.h
+
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/messaging-menu-app.h" DESTINATION "${CMAKE_INSTALL_FULL_INCLUDEDIR}/messaging-menu")
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/messaging-menu-message.h" DESTINATION "${CMAKE_INSTALL_FULL_INCLUDEDIR}/messaging-menu")
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/messaging-menu.h" DESTINATION "${CMAKE_INSTALL_FULL_INCLUDEDIR}/messaging-menu")
+
+# libmessaging-menu.so
+
+set(
+ SOURCES
+ messaging-menu-app.c
+ messaging-menu-message.c
+)
+
+set(
+ SOURCES_GEN
+ ${CMAKE_BINARY_DIR}/src/indicator-messages-service.c
+ ${CMAKE_BINARY_DIR}/src/indicator-messages-application.c
+)
+
+set_source_files_properties(${SOURCES_GEN} PROPERTIES GENERATED TRUE)
+set_source_files_properties(${SOURCES} PROPERTIES COMPILE_FLAGS ${COMPILE_FLAGS})
+add_library("messaging-menu" SHARED ${SOURCES} ${SOURCES_GEN})
+set_target_properties("messaging-menu" PROPERTIES VERSION 0.0.0 SOVERSION 0)
+target_include_directories("messaging-menu" PUBLIC ${PROJECT_DEPS_INCLUDE_DIRS} "${CMAKE_BINARY_DIR}/src")
+target_link_libraries("messaging-menu" ${PROJECT_DEPS_LIBRARIES})
+add_dependencies("messaging-menu" "ayatana-indicator-messages-service")
+install(TARGETS "messaging-menu" DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}")
+
+# MessagingMenu-1.0.gir
+
+find_package(GObjectIntrospection REQUIRED)
+
+set(
+ HEADERS
+ messaging-menu-app.h
+ messaging-menu-message.h
+)
+
+add_custom_command(
+ OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/MessagingMenu-1.0.gir"
+ DEPENDS "messaging-menu"
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+ COMMAND
+ ${INTROSPECTION_SCANNER}
+ ${HEADERS} ${SOURCES}
+ --namespace=MessagingMenu
+ --nsversion=1.0
+ --quiet
+ --warn-all
+ --include=GObject-2.0
+ --include=Gio-2.0
+ --pkg-export=messaging-menu
+ --library="messaging-menu"
+ --c-include="messaging-menu.h"
+ --library-path=${CMAKE_CURRENT_BINARY_DIR}
+ --output "${CMAKE_CURRENT_BINARY_DIR}/MessagingMenu-1.0.gir"
+)
+
+install(FILES "${CMAKE_CURRENT_BINARY_DIR}/MessagingMenu-1.0.gir" DESTINATION "${CMAKE_INSTALL_FULL_DATADIR}/gir-1.0")
+
+# MessagingMenu-1.0.typelib
+
+add_custom_command(
+ OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/MessagingMenu-1.0.typelib"
+ DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/MessagingMenu-1.0.gir"
+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+ COMMAND
+ ${INTROSPECTION_COMPILER}
+ --includedir=${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_CURRENT_BINARY_DIR}/MessagingMenu-1.0.gir
+ -o "${CMAKE_CURRENT_BINARY_DIR}/MessagingMenu-1.0.typelib"
+)
+
+install(FILES "${CMAKE_CURRENT_BINARY_DIR}/MessagingMenu-1.0.typelib" DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}/girepository-1.0")
+
+# MessagingMenu-1.0.vapi
+
+find_package(Vala REQUIRED)
+
+add_custom_command(
+ OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/MessagingMenu-1.0.vapi"
+ DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/MessagingMenu-1.0.typelib"
+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+ COMMAND
+ ${VAPI_GEN}
+ --library=MessagingMenu-1.0
+ --pkg gio-2.0
+ MessagingMenu-1.0.gir
+)
+
+install(FILES "${CMAKE_CURRENT_BINARY_DIR}/MessagingMenu-1.0.vapi" DESTINATION "${CMAKE_INSTALL_FULL_DATADIR}/vala/vapi")
+
+add_custom_target("libmessaging-menu" ALL DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/MessagingMenu-1.0.vapi")
diff --git a/libmessaging-menu/Makefile.am b/libmessaging-menu/Makefile.am
deleted file mode 100644
index 2f178b5..0000000
--- a/libmessaging-menu/Makefile.am
+++ /dev/null
@@ -1,76 +0,0 @@
-lib_LTLIBRARIES = libmessaging-menu.la
-
-libmessaging_menu_ladir = $(includedir)/messaging-menu
-
-libmessaging_menu_la_SOURCES = \
- messaging-menu-app.c \
- messaging-menu-message.c
-
-libmessaging_menu_la_HEADERS = \
- messaging-menu-app.h \
- messaging-menu.h \
- messaging-menu-message.h
-
-libmessaging_menu_la_LIBADD = \
- $(GIO_LIBS) \
- $(top_builddir)/common/libmessaging-common.la
-
-libmessaging_menu_la_CFLAGS = \
- -I$(top_builddir)/common \
- $(GIO_CFLAGS) \
- -Wall
-
-libmessaging_menu_la_LDFLAGS = -export-symbols-regex "^messaging_menu_.*"
-
-pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = messaging-menu.pc
-
-
--include $(INTROSPECTION_MAKEFILE)
-
-INTROSPECTION_GIRS =
-INTROSPECTION_SCANNER_ARGS = --add-include-path=$(srcdir) --warn-all
-INTROSPECTION_COMPILER_ARGS = --includedir=$(srcdir)
-
-if HAVE_INTROSPECTION
-
-MessagingMenu-1.0.gir: libmessaging-menu.la
-MessagingMenu_1_0_gir_NAMESPACE = MessagingMenu
-MessagingMenu_1_0_gir_INCLUDES = GObject-2.0 Gio-2.0
-MessagingMenu_1_0_gir_CFLAGS = $(INCLUDES) $(GIO_CFLAGS)
-MessagingMenu_1_0_gir_SCANNERFLAGS = --c-include="messaging-menu.h"
-MessagingMenu_1_0_gir_LIBS = libmessaging-menu.la
-MessagingMenu_1_0_gir_FILES = \
- messaging-menu-app.c \
- messaging-menu-app.h \
- messaging-menu-message.c \
- messaging-menu-message.h
-MessagingMenu_1_0_gir_EXPORT_PACKAGES = messaging-menu
-INTROSPECTION_GIRS += MessagingMenu-1.0.gir
-
-girdir = $(datadir)/gir-1.0
-gir_DATA = $(INTROSPECTION_GIRS)
-
-typelibdir = $(libdir)/girepository-1.0
-typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
-
-CLEANFILES = $(gir_DATA) $(typelib_DATA)
-
-
-#########################
-# VAPI Files
-#########################
-
-if HAVE_VALA
-
-vapidir = $(datadir)/vala/vapi
-vapi_DATA = MessagingMenu-1.0.vapi
-
-MessagingMenu-1.0.vapi: MessagingMenu-1.0.gir
- $(VALA_API_GEN) --pkg gio-2.0 --library=MessagingMenu-1.0 $<
-
-CLEANFILES += $(vapi_DATA)
-
-endif
-
-endif
diff --git a/libmessaging-menu/messaging-menu.pc.in b/libmessaging-menu/messaging-menu.pc.in
index 24ac4bc..d241276 100644
--- a/libmessaging-menu/messaging-menu.pc.in
+++ b/libmessaging-menu/messaging-menu.pc.in
@@ -1,11 +1,11 @@
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-libdir=@libdir@
-includedir=@includedir@/messaging-menu
+prefix=@CMAKE_INSTALL_PREFIX@
+exec_prefix=${prefix}
+libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
+includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@/messaging-menu
Name: Ayatana Messaging Menu Library
Description: Ayatana Messaging Menu client library
-Version: @VERSION@
+Version: @PROJECT_VERSION@
Requires: gio-unix-2.0
Libs: -L${libdir} -lmessaging-menu
Cflags: -I${includedir}