aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/AyatanaAppIndicator-0.1.metadata.in3
-rw-r--r--src/AyatanaAppIndicator3-0.1.metadata (renamed from src/AyatanaAppIndicator3-0.1.metadata.in)0
-rw-r--r--src/CMakeLists.txt166
-rw-r--r--src/Makefile.am188
-rw-r--r--src/ayatana-appindicator3-0.1.pc.in14
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@