diff options
Diffstat (limited to 'libmessaging-menu')
-rw-r--r-- | libmessaging-menu/CMakeLists.txt | 101 | ||||
-rw-r--r-- | libmessaging-menu/Makefile.am | 76 | ||||
-rw-r--r-- | libmessaging-menu/messaging-menu.pc.in | 10 |
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} |