From 62d01fc8749606d8fc4614d897044462a6d703fc Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Fri, 18 Oct 2013 14:22:54 -0500 Subject: replace autotools with cmake --- data/CMakeLists.txt | 74 +++++++++++++++++++++++++++++++++++++++++++++++++++++ data/Makefile.am | 45 -------------------------------- 2 files changed, 74 insertions(+), 45 deletions(-) create mode 100644 data/CMakeLists.txt delete mode 100644 data/Makefile.am (limited to 'data') diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt new file mode 100644 index 0000000..f0738b3 --- /dev/null +++ b/data/CMakeLists.txt @@ -0,0 +1,74 @@ +## +## GSettings schema +## + +include (UseGSettings) +set (SCHEMA_NAME "com.canonical.indicator.datetime.gschema.xml") +set (SCHEMA_FILE "${CMAKE_CURRENT_SOURCE_DIR}/${SCHEMA_NAME}") +add_schema (${SCHEMA_FILE}) + + +## +## DBus Service File +## + +# where to install +set (DBUS_SERVICE_DIR "${CMAKE_INSTALL_FULL_DATADIR}/dbus-1/services") +message (STATUS "${DBUS_SERVICE_DIR} is the DBus Service File install dir") + +set (SERVICE_NAME "${CMAKE_PROJECT_NAME}.service") +set (SERVICE_FILE "${CMAKE_CURRENT_BINARY_DIR}/${SERVICE_NAME}") +set (SERVICE_FILE_IN "${CMAKE_CURRENT_SOURCE_DIR}/${SERVICE_NAME}.in") + +# build it +set (pkglibexecdir "${CMAKE_INSTALL_FULL_PKGLIBEXECDIR}") +configure_file ("${SERVICE_FILE_IN}" "${SERVICE_FILE}") + +# install it +install (FILES "${SERVICE_FILE}" + DESTINATION "${DBUS_SERVICE_DIR}") + + +## +## Unity Indicator File +## + +# where to install +set (UNITY_INDICATOR_DIR "${CMAKE_INSTALL_FULL_DATAROOTDIR}/unity/indicators") +message (STATUS "${UNITY_INDICATOR_DIR} is the Unity Indicator install dir") + +set (UNITY_INDICATOR_NAME "com.canonical.indicator.datetime") +set (UNITY_INDICATOR_FILE "${CMAKE_CURRENT_SOURCE_DIR}/${UNITY_INDICATOR_NAME}") + +install (FILES "${UNITY_INDICATOR_FILE}" + DESTINATION "${UNITY_INDICATOR_DIR}") + + +## +## FIXME: gnome-control-center panel +## + +if (BUILD_PANEL) + + install (FILES "datetime-dialog.ui" + DESTINATION "${CMAKE_INSTALL_DATADIR}/${CMAKE_PROJECT_NAME}") + + # generate the desktop file using intltool + set (DESKTOP_NAME "gnome-indicator-datetime-panel.desktop") + set (DESKTOP_FILE "${CMAKE_CURRENT_BINARY_DIR}/${DESKTOP_NAME}") + set (DESKTOP_FILE_IN "${CMAKE_CURRENT_SOURCE_DIR}/${DESKTOP_NAME}.in") + set (ENV{LC_ALL} "C") + execute_process (COMMAND intltool-merge -quiet --xml-style --utf8 --no-translations "${DESKTOP_FILE_IN}" "${DESKTOP_FILE}") + install (FILES ${DESKTOP_FILE} + DESTINATION "${CMAKE_INSTALL_DATADIR}/applications") + +endif () + +#if BUILD_CCPANEL +# @INTLTOOL_DESKTOP_RULE@ +# desktopdir = $(datadir)/applications +# desktop_DATA = gnome-indicator-datetime-panel.desktop +# EXTRA_DIST += $(desktop_DATA) +# CLEANFILES += $(desktop_DATA) +#endif +#EXTRA_DIST += datetime-dialog.ui $(desktop_DATA:.desktop=.desktop.in) diff --git a/data/Makefile.am b/data/Makefile.am deleted file mode 100644 index 9bcac72..0000000 --- a/data/Makefile.am +++ /dev/null @@ -1,45 +0,0 @@ -BUILT_SOURCES= -CLEANFILES= -EXTRA_DIST= - -# -# the indicator bus file -# - -indicatorsdir = $(prefix)/share/unity/indicators -dist_indicators_DATA = com.canonical.indicator.datetime - -# -# the gsettings -# - -gsettings_SCHEMAS = com.canonical.indicator.datetime.gschema.xml -@GSETTINGS_RULES@ -EXTRA_DIST += $(gsettings_SCHEMAS) - -# -# the dbus service file -# - -dbus_servicesdir = $(datadir)/dbus-1/services -dbus_services_DATA = indicator-datetime.service -dbus_services_in = $(dbus_services_DATA:.service=.service.in) -$(dbus_services_DATA): $(dbus_services_in) - $(AM_V_GEN) $(SED) -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@ -BUILT_SOURCES += $(dbus_services_DATA) -CLEANFILES += $(dbus_services_DATA) -EXTRA_DIST += $(dbus_services_in) - -# -# the gnome-control-center panel -# - -if BUILD_CCPANEL - pkgdata_DATA = datetime-dialog.ui - @INTLTOOL_DESKTOP_RULE@ - desktopdir = $(datadir)/applications - desktop_DATA = gnome-indicator-datetime-panel.desktop - EXTRA_DIST += $(desktop_DATA) - CLEANFILES += $(desktop_DATA) -endif -EXTRA_DIST += datetime-dialog.ui $(desktop_DATA:.desktop=.desktop.in) -- cgit v1.2.3 From ad4f98ea56af0ce143b369abf55e35c22f29e3b5 Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Fri, 18 Oct 2013 14:46:46 -0500 Subject: fix .desktop file generation in CMake --- data/CMakeLists.txt | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) (limited to 'data') diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt index f0738b3..76a348e 100644 --- a/data/CMakeLists.txt +++ b/data/CMakeLists.txt @@ -58,17 +58,8 @@ if (BUILD_PANEL) set (DESKTOP_FILE "${CMAKE_CURRENT_BINARY_DIR}/${DESKTOP_NAME}") set (DESKTOP_FILE_IN "${CMAKE_CURRENT_SOURCE_DIR}/${DESKTOP_NAME}.in") set (ENV{LC_ALL} "C") - execute_process (COMMAND intltool-merge -quiet --xml-style --utf8 --no-translations "${DESKTOP_FILE_IN}" "${DESKTOP_FILE}") + execute_process (COMMAND intltool-merge -quiet --desktop-style --utf8 "${CMAKE_SOURCE_DIR}/po" "${DESKTOP_FILE_IN}" "${DESKTOP_FILE}") install (FILES ${DESKTOP_FILE} DESTINATION "${CMAKE_INSTALL_DATADIR}/applications") endif () - -#if BUILD_CCPANEL -# @INTLTOOL_DESKTOP_RULE@ -# desktopdir = $(datadir)/applications -# desktop_DATA = gnome-indicator-datetime-panel.desktop -# EXTRA_DIST += $(desktop_DATA) -# CLEANFILES += $(desktop_DATA) -#endif -#EXTRA_DIST += datetime-dialog.ui $(desktop_DATA:.desktop=.desktop.in) -- cgit v1.2.3 From 02e2a8f982de341fbfa3f17fa0feee485339e6c5 Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Tue, 29 Oct 2013 09:50:36 -0700 Subject: remove the panel FIXME comments in data/CMakeLists.txt b/c the .ui and .desktop files are being installed now --- INSTALL | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++ data/CMakeLists.txt | 5 ++-- 2 files changed, 78 insertions(+), 2 deletions(-) create mode 100644 INSTALL (limited to 'data') diff --git a/INSTALL b/INSTALL new file mode 100644 index 0000000..6db8c1c --- /dev/null +++ b/INSTALL @@ -0,0 +1,75 @@ +# +# Copyright (C) 2013 Canonical Ltd +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 3 as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# + +BUILD DEPENDENCIES +================== + +build dependencies for indicator-datetime-service + * glib-2.0 >= 2.36 + * gio-unix-2.0 >= 2.36 + * geoclue >= 0.12 + * libical >= 0.48 + * libecal-1.2 >= 3.5 + * libedataserver-1.2 >= 3.5 + * libnotify >= 0.7.6 + * url-dispatcher-1 >= 1 + * json-glib-1.0 >= 0.16.2 + + +Additional build dependencies for the gnome-control-center panel: + * gtk+-3.0>=3.1.4 + * timezonemap + * libgnome-control-center + * polkit-gobject-1 + +Build dependencies for testing / code coverage: + * gcovr (gcovr, 2.4 or later) + * lcov (lcov, 1.9 or later) + * google test (libgtest-dev, 1.6.0 or later) + * cppcheck (cppcheck) + + +Building the code +----------------- + 1. $ cd indicator-datetime-X.Y.Z + 2. $ mkdir build + 3. $ cd build + 4. $ cmake .. + or + $ cmake -DCMAKE_INSTALL_PREFIX=/your/install/prefix/here .. + or + $ cmake -GNinja .. + 5. $ make + +Running the tests +----------------- + 1. $ cd indicator-datetime-X.Y.Z + 2. $ mkdir build + 3. $ cd build + 4. $ cmake .. + 5. $ make + 6. $ make test + 7. $ make cppcheck + +Generating Test Coverage Reports +-------------------------------- + 1. $ cd indicator-datetime-X.Y.Z + 2. $ mkdir build-coverage + 3. $ cd build-coverage + 4. $ cmake -DCMAKE_BUILD_TYPE=coverage .. + 5. $ make + 6. $ make coverage-html + diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt index 76a348e..197c5c6 100644 --- a/data/CMakeLists.txt +++ b/data/CMakeLists.txt @@ -45,15 +45,16 @@ install (FILES "${UNITY_INDICATOR_FILE}" ## -## FIXME: gnome-control-center panel +## gnome-control-center panel: .ui and .desktop files ## if (BUILD_PANEL) + # the .ui file install (FILES "datetime-dialog.ui" DESTINATION "${CMAKE_INSTALL_DATADIR}/${CMAKE_PROJECT_NAME}") - # generate the desktop file using intltool + # the .desktop file set (DESKTOP_NAME "gnome-indicator-datetime-panel.desktop") set (DESKTOP_FILE "${CMAKE_CURRENT_BINARY_DIR}/${DESKTOP_NAME}") set (DESKTOP_FILE_IN "${CMAKE_CURRENT_SOURCE_DIR}/${DESKTOP_NAME}.in") -- cgit v1.2.3 From e2bc82355ac369bc2f22bf0b9f679130e0299204 Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Tue, 29 Oct 2013 11:19:44 -0700 Subject: point the dbus service file at pkglibexecdir --- data/indicator-datetime.service.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'data') diff --git a/data/indicator-datetime.service.in b/data/indicator-datetime.service.in index e7735ce..a9100b8 100644 --- a/data/indicator-datetime.service.in +++ b/data/indicator-datetime.service.in @@ -1,3 +1,3 @@ [D-BUS Service] Name=com.canonical.indicator.datetime -Exec=@libexecdir@/indicator-datetime-service +Exec=@pkglibexecdir@/indicator-datetime-service -- cgit v1.2.3