From e672e51267ff87405700cbb80807aa6a678a06a5 Mon Sep 17 00:00:00 2001 From: Mike Gabriel Date: Sun, 25 Oct 2020 23:31:54 +0100 Subject: Port from autotools to CMake. --- data/CMakeLists.txt | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 data/CMakeLists.txt (limited to 'data/CMakeLists.txt') diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt new file mode 100644 index 0000000..a423f5b --- /dev/null +++ b/data/CMakeLists.txt @@ -0,0 +1,76 @@ + +find_package(GSettings) + +########################### +# Indicator service +########################### + +set( + INDICATOR_DIR + "${CMAKE_INSTALL_DATADIR}/ayatana/indicators" + CACHE FILEPATH "Ayatana Indicators Directory" +) + +install( + FILES "org.ayatana.indicator.bluetooth" + DESTINATION "${INDICATOR_DIR}" +) + +########################### +# Systemd Job +########################### + +pkg_check_modules(SYSTEMD systemd) +if (${SYSTEMD_FOUND}) + + # where to install + pkg_get_variable(SYSTEMD_USER_DIR systemd systemduserunitdir) + message (STATUS "${SYSTEMD_USER_DIR} is the systemd user unit file install dir") + + set (SYSTEMD_USER_NAME "${CMAKE_PROJECT_NAME}.service") + set (SYSTEMD_USER_FILE "${CMAKE_CURRENT_BINARY_DIR}/${SYSTEMD_USER_NAME}") + set (SYSTEMD_USER_FILE_IN "${CMAKE_CURRENT_SOURCE_DIR}/${SYSTEMD_USER_NAME}.in") + + # build it + set (pkglibexecdir "${CMAKE_INSTALL_FULL_PKGLIBEXECDIR}") + configure_file ("${SYSTEMD_USER_FILE_IN}" "${SYSTEMD_USER_FILE}") + + # install it + install (FILES "${SYSTEMD_USER_FILE}" + DESTINATION "${SYSTEMD_USER_DIR}") +endif() + +########################### +# XDG Autostart +########################### + +set( + INDICATOR_BLUETOOTH_XDG_AUTOSTART + "${CMAKE_CURRENT_BINARY_DIR}/ayatana-indicator-bluetooth.desktop" +) + +configure_file( + "ayatana-indicator-bluetooth.desktop.in" + ${INDICATOR_BLUETOOTH_XDG_AUTOSTART} + @ONLY +) + +install( + FILES "${INDICATOR_BLUETOOTH_XDG_AUTOSTART}" + DESTINATION "/etc/xdg/autostart" +) + +########################### +# GSettings +########################### + +set (SCHEMA_NAME "org.ayatana.indicator.bluetooth.gschema.xml") +set (SCHEMA_FILE "${CMAKE_CURRENT_BINARY_DIR}/${SCHEMA_NAME}") +set (SCHEMA_FILE_IN "${CMAKE_CURRENT_SOURCE_DIR}/${SCHEMA_NAME}.in") + +# generate the .xml file using intltool +set (ENV{LC_ALL} "C") +execute_process (COMMAND intltool-merge -quiet --xml-style --utf8 --no-translations "${SCHEMA_FILE_IN}" "${SCHEMA_FILE}") + +# let UseGSettings do the rest +add_schema (${SCHEMA_NAME}) -- cgit v1.2.3