summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMilan Crha <mcrha@redhat.com>2016-09-26 23:13:31 +0200
committerMilan Crha <mcrha@redhat.com>2016-09-26 23:13:31 +0200
commit9182b67800344ffc9d684c7b452d510be4160a87 (patch)
tree51f7125ed9a35c22fefc9fc5eb060574f9d1a0d1
parent925f702cba0021c48759a431a5c7820b21a25839 (diff)
downloadevolution-data-server-9182b67800344ffc9d684c7b452d510be4160a87.tar.gz
services directory
-rw-r--r--CMakeLists.txt2
-rw-r--r--cmake/modules/GLibTools.cmake10
-rw-r--r--examples/cursor/CMakeLists.txt2
-rw-r--r--services/CMakeLists.txt7
-rw-r--r--services/evolution-addressbook-factory/CMakeLists.txt75
-rw-r--r--services/evolution-addressbook-factory/evolution-addressbook-factory.service.in2
-rw-r--r--services/evolution-addressbook-factory/org.gnome.evolution.dataserver.AddressBook.service.in4
-rw-r--r--services/evolution-calendar-factory/CMakeLists.txt74
-rw-r--r--services/evolution-calendar-factory/evolution-calendar-factory.service.in2
-rw-r--r--services/evolution-calendar-factory/org.gnome.evolution.dataserver.Calendar.service.in4
-rw-r--r--services/evolution-source-registry/CMakeLists.txt151
-rw-r--r--services/evolution-source-registry/evolution-source-registry.service.in2
-rw-r--r--services/evolution-source-registry/org.gnome.evolution.dataserver.Sources.service.in4
-rw-r--r--services/evolution-user-prompter/CMakeLists.txt77
-rw-r--r--services/evolution-user-prompter/evolution-user-prompter.service.in2
-rw-r--r--services/evolution-user-prompter/org.gnome.evolution.dataserver.UserPrompter.service.in4
16 files changed, 405 insertions, 17 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 910bd9a63..672b9394d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -874,7 +874,7 @@ add_subdirectory(libedataserver)
add_subdirectory(modules)
add_subdirectory(private)
add_subdirectory(po)
-#add_subdirectory(services)
+add_subdirectory(services)
#add_subdirectory(tests)
add_subdirectory(tools)
diff --git a/cmake/modules/GLibTools.cmake b/cmake/modules/GLibTools.cmake
index d150ad3f8..b726049f1 100644
--- a/cmake/modules/GLibTools.cmake
+++ b/cmake/modules/GLibTools.cmake
@@ -34,6 +34,10 @@
# add_gsettings_schemas(_target _schema0 ...)
# Adds one or more GSettings schemas. The extension is supposed to be .gschema.xml. The schema file generation
# is added as a dependency of _target.
+#
+# glib_compile_resources _sourcedir _outputprefix _cname _inxml ...deps)
+# Calls glib-compile-resources as defined in _inxml and using _outputprefix and_cname as other arguments
+# beside _sourcedir. The optional arguments are other dependencies.
include(PkgConfigEx)
@@ -200,16 +204,16 @@ if(NOT GLIB_COMPILE_RESOURCES)
message(FATAL_ERROR "Cannot find glib-compile-resources, which is required to build ${PROJECT_NAME}")
endif(NOT GLIB_COMPILE_RESOURCES)
-macro(glib_compile_resources _outputprefix _cname _inxml)
+macro(glib_compile_resources _sourcedir _outputprefix _cname _inxml)
add_custom_command(
OUTPUT ${_outputprefix}.h
- COMMAND ${GLIB_COMPILE_RESOURCES} ${CMAKE_CURRENT_SOURCE_DIR}/${_inxml} --target=${_outputprefix}.h --sourcedir=${CMAKE_CURRENT_SOURCE_DIR} --c-name ${_cname} --generate-header
+ COMMAND ${GLIB_COMPILE_RESOURCES} ${CMAKE_CURRENT_SOURCE_DIR}/${_inxml} --target=${_outputprefix}.h --sourcedir=${_sourcedir} --c-name ${_cname} --generate-header
DEPENDS ${_inxml} ${ARGN}
VERBATIM
)
add_custom_command(
OUTPUT ${_outputprefix}.c
- COMMAND ${GLIB_COMPILE_RESOURCES} ${CMAKE_CURRENT_SOURCE_DIR}/${_inxml} --target=${_outputprefix}.c --sourcedir=${CMAKE_CURRENT_SOURCE_DIR} --c-name ${_cname} --generate-source
+ COMMAND ${GLIB_COMPILE_RESOURCES} ${CMAKE_CURRENT_SOURCE_DIR}/${_inxml} --target=${_outputprefix}.c --sourcedir=${_sourcedir} --c-name ${_cname} --generate-source
DEPENDS ${_inxml} ${ARGN}
VERBATIM
)
diff --git a/examples/cursor/CMakeLists.txt b/examples/cursor/CMakeLists.txt
index b7c64978c..fd57c7e7f 100644
--- a/examples/cursor/CMakeLists.txt
+++ b/examples/cursor/CMakeLists.txt
@@ -57,4 +57,4 @@ set(UI_FILES
cursor-slot.ui
)
-glib_compile_resources(cursor-example-resources _cursor_example cursor-example.gresources.xml ${UI_FILES})
+glib_compile_resources(${CMAKE_CURRENT_SOURCE_DIR} cursor-example-resources _cursor_example cursor-example.gresources.xml ${UI_FILES})
diff --git a/services/CMakeLists.txt b/services/CMakeLists.txt
new file mode 100644
index 000000000..a3f1c3f92
--- /dev/null
+++ b/services/CMakeLists.txt
@@ -0,0 +1,7 @@
+add_subdirectory(evolution-addressbook-factory)
+add_subdirectory(evolution-calendar-factory)
+add_subdirectory(evolution-source-registry)
+
+if(HAVE_GTK)
+ add_subdirectory(evolution-user-prompter)
+endif(HAVE_GTK)
diff --git a/services/evolution-addressbook-factory/CMakeLists.txt b/services/evolution-addressbook-factory/CMakeLists.txt
new file mode 100644
index 000000000..9eb501e40
--- /dev/null
+++ b/services/evolution-addressbook-factory/CMakeLists.txt
@@ -0,0 +1,75 @@
+set(SYSTEMD_SERVICE)
+if(WITH_SYSTEMD_USER_UNITS)
+ set(SYSTEMD_SERVICE "SystemdService=evolution-addressbook-factory.service")
+
+ configure_file(evolution-addressbook-factory.service.in
+ evolution-addressbook-factory.service
+ @ONLY
+ )
+
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/evolution-addressbook-factory.service
+ DESTINATION ${WITH_SYSTEMDUSERUNITDIR}
+ )
+endif(WITH_SYSTEMD_USER_UNITS)
+
+configure_file(org.gnome.evolution.dataserver.AddressBook.service.in
+ org.gnome.evolution.dataserver.AddressBook.service
+ @ONLY
+)
+
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.gnome.evolution.dataserver.AddressBook.service
+ DESTINATION ${WITH_DBUS_SERVICE_DIR}
+)
+
+set(DEPENDENCIES
+ ebackend
+ ebook
+ ebook-contacts
+ edata-book
+ edataserver
+)
+
+set(SOURCES
+ evolution-addressbook-factory.c
+)
+
+add_executable(evolution-addressbook-factory
+ ${SOURCES}
+)
+
+add_dependencies(evolution-addressbook-factory
+ ${DEPENDENCIES}
+)
+
+target_compile_definitions(evolution-addressbook-factory PRIVATE
+ -DG_LOG_DOMAIN=\"evolution-addressbook-factory\"
+ -DLOCALEDIR=\"${LOCALE_INSTALL_DIR}\"
+)
+
+target_compile_options(evolution-addressbook-factory PUBLIC
+ ${BACKEND_CFLAGS}
+ ${DATA_SERVER_CFLAGS}
+ ${ADDRESSBOOK_CFLAGS}
+ ${GTK_CFLAGS}
+)
+
+target_include_directories(evolution-addressbook-factory PUBLIC
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_SOURCE_DIR}
+ ${BACKEND_INCLUDE_DIRS}
+ ${DATA_SERVER_INCLUDE_DIRS}
+ ${ADDRESSBOOK_INCLUDE_DIRS}
+ ${GTK_INCLUDE_DIRS}
+)
+
+target_link_libraries(evolution-addressbook-factory
+ ${DEPENDENCIES}
+ ${BACKEND_LDFLAGS}
+ ${DATA_SERVER_LDFLAGS}
+ ${ADDRESSBOOK_LDFLAGS}
+ ${GTK_LDFLAGS}
+)
+
+install(TARGETS evolution-addressbook-factory
+ DESTINATION ${LIBEXEC_INSTALL_DIR}
+)
diff --git a/services/evolution-addressbook-factory/evolution-addressbook-factory.service.in b/services/evolution-addressbook-factory/evolution-addressbook-factory.service.in
index 172b363f6..e547069c2 100644
--- a/services/evolution-addressbook-factory/evolution-addressbook-factory.service.in
+++ b/services/evolution-addressbook-factory/evolution-addressbook-factory.service.in
@@ -4,4 +4,4 @@ Description=Evolution address book service
[Service]
Type=dbus
BusName=@ADDRESS_BOOK_DBUS_SERVICE_NAME@
-ExecStart=@libexecdir@/evolution-addressbook-factory
+ExecStart=@LIBEXEC_INSTALL_DIR@/evolution-addressbook-factory
diff --git a/services/evolution-addressbook-factory/org.gnome.evolution.dataserver.AddressBook.service.in b/services/evolution-addressbook-factory/org.gnome.evolution.dataserver.AddressBook.service.in
index e5a05b86f..e38f1ae71 100644
--- a/services/evolution-addressbook-factory/org.gnome.evolution.dataserver.AddressBook.service.in
+++ b/services/evolution-addressbook-factory/org.gnome.evolution.dataserver.AddressBook.service.in
@@ -1,4 +1,4 @@
[D-BUS Service]
Name=@ADDRESS_BOOK_DBUS_SERVICE_NAME@
-Exec=@libexecdir@/evolution-addressbook-factory
-SystemdService=evolution-addressbook-factory.service
+Exec=@LIBEXEC_INSTALL_DIR@/evolution-addressbook-factory
+@SYSTEMD_SERVICE@
diff --git a/services/evolution-calendar-factory/CMakeLists.txt b/services/evolution-calendar-factory/CMakeLists.txt
new file mode 100644
index 000000000..80b2d1526
--- /dev/null
+++ b/services/evolution-calendar-factory/CMakeLists.txt
@@ -0,0 +1,74 @@
+set(SYSTEMD_SERVICE)
+if(WITH_SYSTEMD_USER_UNITS)
+ set(SYSTEMD_SERVICE "SystemdService=evolution-calendar-factory.service")
+
+ configure_file(evolution-calendar-factory.service.in
+ evolution-calendar-factory.service
+ @ONLY
+ )
+
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/evolution-calendar-factory.service
+ DESTINATION ${WITH_SYSTEMDUSERUNITDIR}
+ )
+endif(WITH_SYSTEMD_USER_UNITS)
+
+configure_file(org.gnome.evolution.dataserver.Calendar.service.in
+ org.gnome.evolution.dataserver.Calendar.service
+ @ONLY
+)
+
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.gnome.evolution.dataserver.Calendar.service
+ DESTINATION ${WITH_DBUS_SERVICE_DIR}
+)
+
+set(DEPENDENCIES
+ ebackend
+ ecal
+ edata-cal
+ edataserver
+)
+
+set(SOURCES
+ evolution-calendar-factory.c
+)
+
+add_executable(evolution-calendar-factory
+ ${SOURCES}
+)
+
+add_dependencies(evolution-calendar-factory
+ ${DEPENDENCIES}
+)
+
+target_compile_definitions(evolution-calendar-factory PRIVATE
+ -DG_LOG_DOMAIN=\"evolution-calendar-factory\"
+ -DLOCALEDIR=\"${LOCALE_INSTALL_DIR}\"
+)
+
+target_compile_options(evolution-calendar-factory PUBLIC
+ ${BACKEND_CFLAGS}
+ ${DATA_SERVER_CFLAGS}
+ ${CALENDAR_CFLAGS}
+ ${GTK_CFLAGS}
+)
+
+target_include_directories(evolution-calendar-factory PUBLIC
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_SOURCE_DIR}
+ ${BACKEND_INCLUDE_DIRS}
+ ${DATA_SERVER_INCLUDE_DIRS}
+ ${CALENDAR_INCLUDE_DIRS}
+ ${GTK_INCLUDE_DIRS}
+)
+
+target_link_libraries(evolution-calendar-factory
+ ${DEPENDENCIES}
+ ${BACKEND_LDFLAGS}
+ ${DATA_SERVER_LDFLAGS}
+ ${CALENDAR_LDFLAGS}
+ ${GTK_LDFLAGS}
+)
+
+install(TARGETS evolution-calendar-factory
+ DESTINATION ${LIBEXEC_INSTALL_DIR}
+)
diff --git a/services/evolution-calendar-factory/evolution-calendar-factory.service.in b/services/evolution-calendar-factory/evolution-calendar-factory.service.in
index 427125398..d56c6c6a6 100644
--- a/services/evolution-calendar-factory/evolution-calendar-factory.service.in
+++ b/services/evolution-calendar-factory/evolution-calendar-factory.service.in
@@ -4,4 +4,4 @@ Description=Evolution calendar service
[Service]
Type=dbus
BusName=@CALENDAR_DBUS_SERVICE_NAME@
-ExecStart=@libexecdir@/evolution-calendar-factory
+ExecStart=@LIBEXEC_INSTALL_DIR@/evolution-calendar-factory
diff --git a/services/evolution-calendar-factory/org.gnome.evolution.dataserver.Calendar.service.in b/services/evolution-calendar-factory/org.gnome.evolution.dataserver.Calendar.service.in
index 51dec9525..a0e7b3bde 100644
--- a/services/evolution-calendar-factory/org.gnome.evolution.dataserver.Calendar.service.in
+++ b/services/evolution-calendar-factory/org.gnome.evolution.dataserver.Calendar.service.in
@@ -1,4 +1,4 @@
[D-BUS Service]
Name=@CALENDAR_DBUS_SERVICE_NAME@
-Exec=@libexecdir@/evolution-calendar-factory
-SystemdService=evolution-calendar-factory.service
+Exec=@LIBEXEC_INSTALL_DIR@/evolution-calendar-factory
+@SYSTEMD_SERVICE@
diff --git a/services/evolution-source-registry/CMakeLists.txt b/services/evolution-source-registry/CMakeLists.txt
new file mode 100644
index 000000000..457ea61b2
--- /dev/null
+++ b/services/evolution-source-registry/CMakeLists.txt
@@ -0,0 +1,151 @@
+set(SYSTEMD_SERVICE)
+if(WITH_SYSTEMD_USER_UNITS)
+ set(SYSTEMD_SERVICE "SystemdService=evolution-source-registry.service")
+
+ configure_file(evolution-source-registry.service.in
+ evolution-source-registry.service
+ @ONLY
+ )
+
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/evolution-source-registry.service
+ DESTINATION ${WITH_SYSTEMDUSERUNITDIR}
+ )
+endif(WITH_SYSTEMD_USER_UNITS)
+
+configure_file(org.gnome.evolution.dataserver.Sources.service.in
+ org.gnome.evolution.dataserver.Sources.service
+ @ONLY
+)
+
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.gnome.evolution.dataserver.Sources.service
+ DESTINATION ${WITH_DBUS_SERVICE_DIR}
+)
+
+set(builtin_sources_files
+ caldav-stub.source
+ contacts-stub.source
+ google-stub.source
+ ldap-stub.source
+ local-stub.source
+ weather-stub.source
+ webcal-stub.source
+ webdav-stub.source
+ birthdays.source
+ local.source
+ sendmail.source
+ system-address-book.source
+ system-calendar.source
+ system-memo-list.source
+ system-proxy.source
+ system-task-list.source
+ vfolder.source
+)
+
+if(NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/builtin)
+ file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/builtin)
+endif(NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/builtin)
+
+set(builtin_sources)
+foreach(_file ${builtin_sources_files})
+ intltool_merge(${CMAKE_CURRENT_SOURCE_DIR}/builtin/${_file}.in ${CMAKE_CURRENT_BINARY_DIR}/builtin/${_file} -d -u -c ${CMAKE_BINARY_DIR}/po/.intltool-merge-cache)
+ list(APPEND builtin_sources ${CMAKE_CURRENT_BINARY_DIR}/builtin/${_file})
+endforeach(_file)
+
+glib_compile_resources(${CMAKE_CURRENT_BINARY_DIR}/builtin evolution-source-registry-resource evolution_source_registry evolution-source-registry-resource.xml ${builtin_sources})
+
+set(DEPENDENCIES
+ ebackend
+ edataserver
+)
+
+set(SOURCES
+ evolution-source-registry.c
+ evolution-source-registry-migrate-basedir.c
+ evolution-source-registry-migrate-proxies.c
+ evolution-source-registry-migrate-sources.c
+ evolution-source-registry-migrate-imap-to-imapx.c
+ ${CMAKE_CURRENT_BINARY_DIR}/evolution-source-registry-resource.c
+ ${CMAKE_CURRENT_BINARY_DIR}/evolution-source-registry-resource.h
+)
+
+add_executable(evolution-source-registry
+ ${SOURCES}
+)
+
+add_dependencies(evolution-source-registry
+ ${DEPENDENCIES}
+)
+
+target_compile_definitions(evolution-source-registry PRIVATE
+ -DG_LOG_DOMAIN=\"evolution-source-registry\"
+ -DLOCALEDIR=\"${LOCALE_INSTALL_DIR}\"
+)
+
+target_compile_options(evolution-source-registry PUBLIC
+ ${BACKEND_CFLAGS}
+ ${DATA_SERVER_CFLAGS}
+ ${GTK_CFLAGS}
+)
+
+target_include_directories(evolution-source-registry PUBLIC
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_SOURCE_DIR}
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${BACKEND_INCLUDE_DIRS}
+ ${DATA_SERVER_INCLUDE_DIRS}
+ ${GTK_INCLUDE_DIRS}
+)
+
+target_link_libraries(evolution-source-registry
+ ${DEPENDENCIES}
+ ${BACKEND_LDFLAGS}
+ ${DATA_SERVER_LDFLAGS}
+ ${GTK_LDFLAGS}
+)
+
+install(TARGETS evolution-source-registry
+ DESTINATION ${LIBEXEC_INSTALL_DIR}
+)
+
+set(SOURCES
+ evolution-scan-gconf-tree-xml.c
+ evolution-source-registry-migrate-sources.c
+)
+
+add_executable(evolution-scan-gconf-tree-xml
+ ${SOURCES}
+)
+
+add_dependencies(evolution-scan-gconf-tree-xml
+ ${DEPENDENCIES}
+)
+
+target_compile_definitions(evolution-scan-gconf-tree-xml PRIVATE
+ -DG_LOG_DOMAIN=\"evolution-scan-gconf-tree-xml\"
+ -DLOCALEDIR=\"${LOCALE_INSTALL_DIR}\"
+)
+
+target_compile_options(evolution-scan-gconf-tree-xml PUBLIC
+ ${BACKEND_CFLAGS}
+ ${DATA_SERVER_CFLAGS}
+ ${GTK_CFLAGS}
+)
+
+target_include_directories(evolution-scan-gconf-tree-xml PUBLIC
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_SOURCE_DIR}
+ ${BACKEND_INCLUDE_DIRS}
+ ${DATA_SERVER_INCLUDE_DIRS}
+ ${GTK_INCLUDE_DIRS}
+)
+
+target_link_libraries(evolution-scan-gconf-tree-xml
+ ${DEPENDENCIES}
+ ${BACKEND_LDFLAGS}
+ ${DATA_SERVER_LDFLAGS}
+ ${GTK_LDFLAGS}
+)
+
+install(TARGETS evolution-scan-gconf-tree-xml
+ DESTINATION ${LIBEXEC_INSTALL_DIR}
+)
diff --git a/services/evolution-source-registry/evolution-source-registry.service.in b/services/evolution-source-registry/evolution-source-registry.service.in
index 0e6993cf4..2e2b4bb3e 100644
--- a/services/evolution-source-registry/evolution-source-registry.service.in
+++ b/services/evolution-source-registry/evolution-source-registry.service.in
@@ -4,4 +4,4 @@ Description=Evolution source registry
[Service]
Type=dbus
BusName=@SOURCES_DBUS_SERVICE_NAME@
-ExecStart=@libexecdir@/evolution-source-registry
+ExecStart=@LIBEXEC_INSTALL_DIR@/evolution-source-registry
diff --git a/services/evolution-source-registry/org.gnome.evolution.dataserver.Sources.service.in b/services/evolution-source-registry/org.gnome.evolution.dataserver.Sources.service.in
index 76f93f04c..c4f88215d 100644
--- a/services/evolution-source-registry/org.gnome.evolution.dataserver.Sources.service.in
+++ b/services/evolution-source-registry/org.gnome.evolution.dataserver.Sources.service.in
@@ -1,4 +1,4 @@
[D-BUS Service]
Name=@SOURCES_DBUS_SERVICE_NAME@
-Exec=@libexecdir@/evolution-source-registry
-SystemdService=evolution-source-registry.service
+Exec=@LIBEXEC_INSTALL_DIR@/evolution-source-registry
+@SYSTEMD_SERVICE@
diff --git a/services/evolution-user-prompter/CMakeLists.txt b/services/evolution-user-prompter/CMakeLists.txt
new file mode 100644
index 000000000..aa9cb8ac1
--- /dev/null
+++ b/services/evolution-user-prompter/CMakeLists.txt
@@ -0,0 +1,77 @@
+set(SYSTEMD_SERVICE)
+if(WITH_SYSTEMD_USER_UNITS)
+ set(SYSTEMD_SERVICE "SystemdService=evolution-user-prompter.service")
+
+ configure_file(evolution-user-prompter.service.in
+ evolution-user-prompter.service
+ @ONLY
+ )
+
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/evolution-user-prompter.service
+ DESTINATION ${WITH_SYSTEMDUSERUNITDIR}
+ )
+endif(WITH_SYSTEMD_USER_UNITS)
+
+configure_file(org.gnome.evolution.dataserver.UserPrompter.service.in
+ org.gnome.evolution.dataserver.UserPrompter.service
+ @ONLY
+)
+
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.gnome.evolution.dataserver.UserPrompter.service
+ DESTINATION ${WITH_DBUS_SERVICE_DIR}
+)
+
+set(DEPENDENCIES
+ ebackend
+ ebook
+ ebook-contacts
+ edata-book
+ edataserver
+)
+
+set(SOURCES
+ prompt-user.h
+ prompt-user-gtk.c
+ evolution-user-prompter.c
+)
+
+add_executable(evolution-user-prompter
+ ${SOURCES}
+)
+
+add_dependencies(evolution-user-prompter
+ ${DEPENDENCIES}
+)
+
+target_compile_definitions(evolution-user-prompter PRIVATE
+ -DG_LOG_DOMAIN=\"evolution-user-prompter\"
+ -DLOCALEDIR=\"${LOCALE_INSTALL_DIR}\"
+)
+
+target_compile_options(evolution-user-prompter PUBLIC
+ ${BACKEND_CFLAGS}
+ ${DATA_SERVER_CFLAGS}
+ ${GNOME_PLATFORM_CFLAGS}
+ ${GTK_CFLAGS}
+)
+
+target_include_directories(evolution-user-prompter PUBLIC
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_SOURCE_DIR}
+ ${BACKEND_INCLUDE_DIRS}
+ ${DATA_SERVER_INCLUDE_DIRS}
+ ${GNOME_PLATFORM_INCLUDE_DIRS}
+ ${GTK_INCLUDE_DIRS}
+)
+
+target_link_libraries(evolution-user-prompter
+ ${DEPENDENCIES}
+ ${BACKEND_LDFLAGS}
+ ${DATA_SERVER_LDFLAGS}
+ ${GNOME_PLATFORM_LDFLAGS}
+ ${GTK_LDFLAGS}
+)
+
+install(TARGETS evolution-user-prompter
+ DESTINATION ${LIBEXEC_INSTALL_DIR}
+)
diff --git a/services/evolution-user-prompter/evolution-user-prompter.service.in b/services/evolution-user-prompter/evolution-user-prompter.service.in
index 7bd021c02..07bb9092a 100644
--- a/services/evolution-user-prompter/evolution-user-prompter.service.in
+++ b/services/evolution-user-prompter/evolution-user-prompter.service.in
@@ -4,4 +4,4 @@ Description=Evolution user prompter
[Service]
Type=dbus
BusName=@USER_PROMPTER_DBUS_SERVICE_NAME@
-ExecStart=@libexecdir@/evolution-user-prompter
+ExecStart=@LIBEXEC_INSTALL_DIR@/evolution-user-prompter
diff --git a/services/evolution-user-prompter/org.gnome.evolution.dataserver.UserPrompter.service.in b/services/evolution-user-prompter/org.gnome.evolution.dataserver.UserPrompter.service.in
index c66d861cb..73641563e 100644
--- a/services/evolution-user-prompter/org.gnome.evolution.dataserver.UserPrompter.service.in
+++ b/services/evolution-user-prompter/org.gnome.evolution.dataserver.UserPrompter.service.in
@@ -1,4 +1,4 @@
[D-BUS Service]
Name=@USER_PROMPTER_DBUS_SERVICE_NAME@
-Exec=@libexecdir@/evolution-user-prompter
-SystemdService=evolution-user-prompter.service
+Exec=@LIBEXEC_INSTALL_DIR@/evolution-user-prompter
+@SYSTEMD_SERVICE@