diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/AyatanaAppIndicator-0.1.metadata.in | 3 | ||||
-rw-r--r-- | src/AyatanaAppIndicator3-0.1.metadata (renamed from src/AyatanaAppIndicator3-0.1.metadata.in) | 0 | ||||
-rw-r--r-- | src/CMakeLists.txt | 166 | ||||
-rw-r--r-- | src/Makefile.am | 188 | ||||
-rw-r--r-- | src/ayatana-appindicator3-0.1.pc.in | 14 |
5 files changed, 173 insertions, 198 deletions
diff --git a/src/AyatanaAppIndicator-0.1.metadata.in b/src/AyatanaAppIndicator-0.1.metadata.in deleted file mode 100644 index 1af31e7..0000000 --- a/src/AyatanaAppIndicator-0.1.metadata.in +++ /dev/null @@ -1,3 +0,0 @@ -AyatanaAppIndicator name="AppIndicator" -Indicator.priv hidden="1" -IndicatorPrivate hidden="1" diff --git a/src/AyatanaAppIndicator3-0.1.metadata.in b/src/AyatanaAppIndicator3-0.1.metadata index 09d457d..09d457d 100644 --- a/src/AyatanaAppIndicator3-0.1.metadata.in +++ b/src/AyatanaAppIndicator3-0.1.metadata diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt new file mode 100644 index 0000000..3a0ce71 --- /dev/null +++ b/src/CMakeLists.txt @@ -0,0 +1,166 @@ +set(HEADERS + app-indicator.h +) + +set(SOURCES + app-indicator.c + app-indicator-enum-types.c + application-service-marshal.c + generate-id.c + gen-notification-item.xml.c + gen-notification-watcher.xml.c +) + +install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/app-indicator.h" DESTINATION "${CMAKE_INSTALL_FULL_INCLUDEDIR}/libayatana-appindicator3-0.1/libayatana-appindicator") + +# ayatana-appindicator3-0.1.pc + +configure_file("${CMAKE_CURRENT_SOURCE_DIR}/ayatana-appindicator3-0.1.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/ayatana-appindicator3-0.1.pc" @ONLY) +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/ayatana-appindicator3-0.1.pc" DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}/pkgconfig") + +# app-indicator-enum-types.h + +find_program(GLIB_MKENUMS glib-mkenums) + +add_custom_command( + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/app-indicator-enum-types.h" + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + COMMAND + ${GLIB_MKENUMS} + --template app-indicator-enum-types.h.in + ${HEADERS} + --output="${CMAKE_CURRENT_BINARY_DIR}/app-indicator-enum-types.h" +) + +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/app-indicator-enum-types.h" DESTINATION "${CMAKE_INSTALL_FULL_INCLUDEDIR}/libayatana-appindicator3-0.1/libayatana-appindicator") + +# app-indicator-enum-types.c + +add_custom_command( + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/app-indicator-enum-types.c" + DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/app-indicator-enum-types.h" + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + COMMAND + ${GLIB_MKENUMS} + --template app-indicator-enum-types.c.in + ${HEADERS} + --output="${CMAKE_CURRENT_BINARY_DIR}/app-indicator-enum-types.c" +) + +find_program(GLIB_GENMARSHAL glib-genmarshal) + +# application-service-marshal.h + +add_custom_command( + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/application-service-marshal.h" + DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/app-indicator-enum-types.c" + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + COMMAND + ${GLIB_GENMARSHAL} + --prefix=_application_service_marshal + --header application-service-marshal.list + --quiet + --output="${CMAKE_CURRENT_BINARY_DIR}/application-service-marshal.h" +) + +# application-service-marshal.c + +add_custom_command( + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/application-service-marshal.c" + DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/application-service-marshal.h" + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + COMMAND + ${GLIB_GENMARSHAL} + --prefix=_application_service_marshal + --body application-service-marshal.list + --include-header=application-service-marshal.h + --quiet + --output="${CMAKE_CURRENT_BINARY_DIR}/application-service-marshal.c" +) + +# gen-notification-item.xml.h + +file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/gen-notification-item.xml.h" "extern const char * _notification_item;") + +# gen-notification-item.xml.c + +file(READ "${CMAKE_CURRENT_SOURCE_DIR}/notification-item.xml" GEN_NOTIFICATION_ITEM_XML_C) +string(REPLACE "\"" "\\\"" GEN_NOTIFICATION_ITEM_XML_C ${GEN_NOTIFICATION_ITEM_XML_C}) +string(REPLACE "\n" "\\n\"\n\"" GEN_NOTIFICATION_ITEM_XML_C ${GEN_NOTIFICATION_ITEM_XML_C}) +string(REGEX REPLACE "\n\"$" "\n" GEN_NOTIFICATION_ITEM_XML_C ${GEN_NOTIFICATION_ITEM_XML_C}) +string(PREPEND GEN_NOTIFICATION_ITEM_XML_C "const char * _notification_item = \n\"") +string(APPEND GEN_NOTIFICATION_ITEM_XML_C "\;") +file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/gen-notification-item.xml.c" ${GEN_NOTIFICATION_ITEM_XML_C}) + +# gen-notification-watcher.xml.h + +file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/gen-notification-watcher.xml.h" "extern const char * _notification_watcher;") + +# gen-notification-watcher.xml.c + +file(READ "${CMAKE_CURRENT_SOURCE_DIR}/notification-watcher.xml" GEN_NOTIFICATION_WATCHER_XML_C) +string(REPLACE "\"" "\\\"" GEN_NOTIFICATION_WATCHER_XML_C ${GEN_NOTIFICATION_WATCHER_XML_C}) +string(REPLACE "\n" "\\n\"\n\"" GEN_NOTIFICATION_WATCHER_XML_C ${GEN_NOTIFICATION_WATCHER_XML_C}) +string(REGEX REPLACE "\n\"$" "\n" GEN_NOTIFICATION_WATCHER_XML_C ${GEN_NOTIFICATION_WATCHER_XML_C}) +string(PREPEND GEN_NOTIFICATION_WATCHER_XML_C "const char * _notification_watcher = \n\"") +string(APPEND GEN_NOTIFICATION_WATCHER_XML_C "\;") +file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/gen-notification-watcher.xml.c" ${GEN_NOTIFICATION_WATCHER_XML_C}) + +# libayatana-appindicator3.so + +set_source_files_properties(${SOURCES} PROPERTIES COMPILE_FLAGS ${COMPILE_FLAGS}) +add_library("ayatana-appindicator3" SHARED ${SOURCES}) +set_target_properties("ayatana-appindicator3" PROPERTIES VERSION 1.0.0 SOVERSION 1) +target_compile_definitions("ayatana-appindicator3" PUBLIC G_LOG_DOMAIN="libayatana-appindicator") +target_include_directories("ayatana-appindicator3" PUBLIC ${PROJECT_DEPS_INCLUDE_DIRS}) +target_include_directories("ayatana-appindicator3" PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) +target_include_directories("ayatana-appindicator3" PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) +target_link_libraries("ayatana-appindicator3" ${PROJECT_DEPS_LIBRARIES}) +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/libayatana-appindicator3.so" DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}") +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/libayatana-appindicator3.so.1" DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}") +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/libayatana-appindicator3.so.1.0.0" DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}") + +# AyatanaAppIndicator3-0.1.gir + +find_package(GObjectIntrospection REQUIRED QUIET) + +add_custom_command( + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/AyatanaAppIndicator3-0.1.gir" + DEPENDS "ayatana-appindicator3" + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + COMMAND + ${INTROSPECTION_SCANNER} + app-indicator.c ${HEADERS} + --add-include-path=${CMAKE_CURRENT_BINARY_DIR} + --c-include=libayatana-appindicator/app-indicator.h + --symbol-prefix=app + --identifier-prefix=App + --namespace=AyatanaAppIndicator3 + --nsversion=0.1 + --quiet + --warn-all + --include=GObject-2.0 + --include=Gtk-3.0 + --library-path=${CMAKE_CURRENT_BINARY_DIR} + --library="ayatana-appindicator3" + --output "${CMAKE_CURRENT_BINARY_DIR}/AyatanaAppIndicator3-0.1.gir" +) + +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/AyatanaAppIndicator3-0.1.gir" DESTINATION "${CMAKE_INSTALL_FULL_DATADIR}/gir-1.0") + +# AyatanaAppIndicator3-0.1.typelib + +add_custom_command( + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/AyatanaAppIndicator3-0.1.typelib" + DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/AyatanaAppIndicator3-0.1.gir" + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + COMMAND + ${INTROSPECTION_COMPILER} + --includedir=${CMAKE_CURRENT_BINARY_DIR} + ${CMAKE_CURRENT_BINARY_DIR}/AyatanaAppIndicator3-0.1.gir + -o "${CMAKE_CURRENT_BINARY_DIR}/AyatanaAppIndicator3-0.1.typelib" +) + +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/AyatanaAppIndicator3-0.1.typelib" DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}/girepository-1.0") + +add_custom_target(src ALL DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/AyatanaAppIndicator3-0.1.typelib") diff --git a/src/Makefile.am b/src/Makefile.am deleted file mode 100644 index a1bbcf0..0000000 --- a/src/Makefile.am +++ /dev/null @@ -1,188 +0,0 @@ -if USE_GTK3 -VER=3 -lib_LTLIBRARIES = libayatana-appindicator3.la -GTKGIR = Gtk-3.0 -else -VER= -lib_LTLIBRARIES = libayatana-appindicator.la -GTKGIR = Gtk-2.0 -endif - -CLEANFILES = -DISTCLEANFILES = Makefile.in -BUILT_SOURCES = -EXTRA_DIST = \ - ayatana-appindicator-0.1.pc.in \ - ayatana-appindicator3-0.1.pc.in \ - AyatanaAppIndicator-0.1.metadata.in \ - AyatanaAppIndicator3-0.1.metadata.in - -include $(top_srcdir)/Makefile.am.enum -include $(top_srcdir)/Makefile.am.marshal - -################################## -# Marshallers -################################## - -BUILT_SOURCES += \ - application-service-marshal.h \ - application-service-marshal.c - -glib_marshal_list = application-service-marshal.list -glib_marshal_prefix = _application_service_marshal - -################################## -# Library -################################## - -pkgconfig_DATA = ayatana-appindicator$(VER)-0.1.pc -pkgconfigdir = $(libdir)/pkgconfig - -glib_enum_h = app-indicator-enum-types.h -glib_enum_c = app-indicator-enum-types.c -glib_enum_headers = $(addprefix $(srcdir)/, $(libayatana_appindicator_headers)) - -DISTCLEANFILES += app-indicator-enum-types.c - -libayatana_appindicatorincludefolder=libayatana-appindicator -libayatana_appindicatorincludedir=$(includedir)/libayatana-appindicator$(VER)-0.1/$(libayatana_appindicatorincludefolder) - -libayatana_appindicator_headers = \ - app-indicator.h - -libayatana_appindicatorinclude_HEADERS = \ - $(libayatana_appindicator_headers) \ - $(glib_enum_h) - -libayatana_appindicator_la_SOURCES = \ - $(libayatana_appindicator_headers) \ - app-indicator-enum-types.c \ - app-indicator.c \ - application-service-marshal.c \ - dbus-shared.h \ - generate-id.h \ - generate-id.c \ - gen-notification-item.xml.h \ - gen-notification-item.xml.c \ - gen-notification-watcher.xml.h \ - gen-notification-watcher.xml.c - -libayatana_appindicator_la_LDFLAGS = \ - $(COVERAGE_LDFLAGS) \ - -version-info 1:0:0 \ - -no-undefined \ - -export-symbols-regex "^[^_d].*" - -libayatana_appindicator_la_CFLAGS = \ - $(LIBRARY_CFLAGS) \ - $(COVERAGE_CFLAGS) \ - -Wall -Wno-error=deprecated-declarations \ - -DG_LOG_DOMAIN=\"libayatana-appindicator\" - -libayatana_appindicator_la_LIBADD = \ - $(LIBRARY_LIBS) - -# We duplicate these here because Automake won't let us use $(VER) on the left hand side. -# Since we carefully use $(VER) in the right hand side above, we can assign the same values. -# Only one version of the library is every compiled at the same time, so it is safe to reuse -# the right hand sides like this. -libayatana_appindicator3includedir = $(libayatana_appindicatorincludedir) -libayatana_appindicator3include_HEADERS = $(libayatana_appindicatorinclude_HEADERS) -libayatana_appindicator3_la_SOURCES = $(libayatana_appindicator_la_SOURCES) -libayatana_appindicator3_la_LDFLAGS = $(libayatana_appindicator_la_LDFLAGS) -libayatana_appindicator3_la_CFLAGS = $(libayatana_appindicator_la_CFLAGS) -libayatana_appindicator3_la_LIBADD = $(libayatana_appindicator_la_LIBADD) - -################################## -# DBus Specs -################################## - -DBUS_SPECS = \ - notification-item.xml \ - notification-watcher.xml - -gen-%.xml.h: %.xml - @echo "Building $@ from $<" - @echo "extern const char * _$(subst -,_,$(subst .,_,$(basename $(notdir $<))));" > $@ - -gen-%.xml.c: %.xml - @echo "Building $@ from $<" - @echo "const char * _$(subst -,_,$(subst .,_,$(basename $(notdir $<)))) = " > $@ - @sed -e "s:\":\\\\\":g" -e s:^:\": -e s:\$$:\\\\n\": $< >> $@ - @echo ";" >> $@ - -BUILT_SOURCES += \ - gen-notification-item.xml.c \ - gen-notification-item.xml.h \ - gen-notification-watcher.xml.c \ - gen-notification-watcher.xml.h - -CLEANFILES += \ - gen-notification-item.xml.c \ - gen-notification-item.xml.h \ - gen-notification-watcher.xml.c \ - gen-notification-watcher.xml.h - -EXTRA_DIST += $(DBUS_SPECS) - -######################### -# GObject Introsepction -######################### - --include $(INTROSPECTION_MAKEFILE) -INTROSPECTION_GIRS = - -if INTROSPECTION_TEN -INTROSPECTION_SCANNER_ARGS = \ - --add-include-path=$(srcdir) \ - $(addprefix --c-include=$(libayatana_appindicatorincludefolder)/, $(libayatana_appindicator_headers)) \ - --symbol-prefix=app \ - --identifier-prefix=App \ - --warn-all -else -INTROSPECTION_SCANNER_ARGS = \ - --add-include-path=$(srcdir) \ - $(addprefix --c-include=$(libayatana_appindicatorincludefolder)/, $(libayatana_appindicator_headers)) -endif - -INTROSPECTION_COMPILER_ARGS = --includedir=$(builddir) - -if HAVE_INTROSPECTION - -introspection_sources = \ - $(addprefix $(srcdir)/,app-indicator.c) \ - $(addprefix $(srcdir)/,$(libayatana_appindicator_headers)) - -AyatanaAppIndicator$(VER)-0.1.gir: libayatana-appindicator$(VER).la - -AyatanaAppIndicator_0_1_gir_INCLUDES = \ - GObject-2.0 \ - $(GTKGIR) -AyatanaAppIndicator_0_1_gir_CFLAGS = $(LIBRARY_CFLAGS) -I$(srcdir) -I$(top_builddir)/src -AyatanaAppIndicator_0_1_gir_LIBS = libayatana-appindicator$(VER).la -AyatanaAppIndicator_0_1_gir_FILES = $(introspection_sources) -# AyatanaAppIndicator_0_1_gir_NAMESPACE = AyatanaAppIndicator - -AyatanaAppIndicator3_0_1_gir_INCLUDES = $(AyatanaAppIndicator_0_1_gir_INCLUDES) -AyatanaAyatanaAppIndicator3_0_1_gir_CFLAGS = $(AyatanaAyatanaAppIndicator_0_1_gir_CFLAGS) -AyatanaAppIndicator3_0_1_gir_LIBS = $(AyatanaAppIndicator_0_1_gir_LIBS) -AyatanaAppIndicator3_0_1_gir_FILES = $(AyatanaAppIndicator_0_1_gir_FILES) -# AyatanaAppIndicator3_0_1_gir_NAMESPACE = AyatanaAppIndicator - -INTROSPECTION_GIRS += AyatanaAppIndicator$(VER)-0.1.gir - -AyatanaAppIndicator$(VER)-0.1.metadata: AyatanaAppIndicator$(VER)-0.1.gir - cp -f $(srcdir)/$@.in $@ - -BUILT_SOURCES += AyatanaAppIndicator$(VER)-0.1.metadata -CLEANFILES += AyatanaAppIndicator$(VER)-0.1.metadata - -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) - -endif diff --git a/src/ayatana-appindicator3-0.1.pc.in b/src/ayatana-appindicator3-0.1.pc.in index 51eb96b..bf8c1b8 100644 --- a/src/ayatana-appindicator3-0.1.pc.in +++ b/src/ayatana-appindicator3-0.1.pc.in @@ -1,14 +1,14 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -bindir=@bindir@ -includedir=@includedir@ +prefix=@CMAKE_INSTALL_PREFIX@ +exec_prefix=${prefix} +libdir=@CMAKE_INSTALL_FULL_LIBDIR@ +bindir=@CMAKE_INSTALL_FULL_BINDIR@ +includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@ Cflags: -I${includedir}/libayatana-appindicator3-0.1 -Requires: dbusmenu-glib-0.4 gtk+-3.0 +Requires: ayatana-indicator3-0.4 dbusmenu-glib-0.4 glib-2.0 gtk+-3.0 Libs: -L${libdir} -layatana-appindicator3 Name: ayatana-appindicator3-0.1 Description: Ayatana Application Indicators -Version: @VERSION@ +Version: @PROJECT_VERSION@ |