diff options
author | Piotr Krysik <ptrkrysik@gmail.com> | 2017-08-31 21:58:48 +0200 |
---|---|---|
committer | Piotr Krysik <ptrkrysik@gmail.com> | 2017-08-31 21:58:48 +0200 |
commit | 1ad0c96abbd6bdb3d5fd84ac0406da9aff8805fe (patch) | |
tree | 35fb55c37acebc70b9b4a4c3394f0d7f3d12c0e0 | |
parent | 1e8a03c2e87edcc57bde7fda3bdf950d7bbb92fa (diff) |
Added *.desktop files installation a'la GNU Radio.
After building grgsm_setup_freedesktop is created. It has to be executed during installation of a package with 'install' as a parameter.
During removal of a package it has to be called with 'uninstall' as a parameter.
-rw-r--r-- | apps/CMakeLists.txt | 2 | ||||
-rw-r--r-- | apps/apps_data/CMakeLists.txt | 21 | ||||
-rw-r--r-- | apps/apps_data/grgsm-livemon.desktop (renamed from apps/apps_data/grgsm_livemon.desktop) | 0 | ||||
-rw-r--r-- | apps/apps_data/grgsm_setup_freedesktop.in | 54 |
4 files changed, 75 insertions, 2 deletions
diff --git a/apps/CMakeLists.txt b/apps/CMakeLists.txt index 7be18e7..ec04f1f 100644 --- a/apps/CMakeLists.txt +++ b/apps/CMakeLists.txt @@ -19,6 +19,8 @@ include(GrPython) add_subdirectory(helpers) +add_subdirectory(apps_data) + GR_PYTHON_INSTALL( PROGRAMS diff --git a/apps/apps_data/CMakeLists.txt b/apps/apps_data/CMakeLists.txt index 5962e52..db8a843 100644 --- a/apps/apps_data/CMakeLists.txt +++ b/apps/apps_data/CMakeLists.txt @@ -17,8 +17,25 @@ # the Free Software Foundation, Inc., 51 Franklin Street, # Boston, MA 02110-1301, USA. +set(grgsm_freedesktop_path ${GR_PKG_DATA_DIR}/gr-gsm/freedesktop) + install( FILES - grgsm_livemon.desktop - DESTINATION ${GR_PKG_DATA_DIR} + grgsm-livemon.desktop + DESTINATION ${grgsm_freedesktop_path} + COMPONENT "gr-gsm" ) + +find_program(HAVE_XDG_UTILS xdg-desktop-menu) + +if(UNIX AND HAVE_XDG_UTILS) + set(SRCDIR ${CMAKE_INSTALL_PREFIX}/${grgsm_freedesktop_path}) + configure_file( + ${CMAKE_CURRENT_SOURCE_DIR}/grgsm_setup_freedesktop.in + ${CMAKE_CURRENT_BINARY_DIR}/grgsm_setup_freedesktop + @ONLY) + install( + PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/grgsm_setup_freedesktop + DESTINATION ${GR_PKG_LIBEXEC_DIR} COMPONENT "gr-gsm" + ) +endif(UNIX AND HAVE_XDG_UTILS) diff --git a/apps/apps_data/grgsm_livemon.desktop b/apps/apps_data/grgsm-livemon.desktop index a18859f..a18859f 100644 --- a/apps/apps_data/grgsm_livemon.desktop +++ b/apps/apps_data/grgsm-livemon.desktop diff --git a/apps/apps_data/grgsm_setup_freedesktop.in b/apps/apps_data/grgsm_setup_freedesktop.in new file mode 100644 index 0000000..f932519 --- /dev/null +++ b/apps/apps_data/grgsm_setup_freedesktop.in @@ -0,0 +1,54 @@ +#!/bin/bash +# +# Copyright 2008-2011 Free Software Foundation, Inc. +# +# This file is part of GNU Radio +# +# GNU Radio is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3, or (at your option) +# any later version. +# +# GNU Radio 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 GNU Radio; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 51 Franklin Street, +# Boston, MA 02110-1301, USA. +# +################################################## +# setup grc on a freedesktop platform +# $1 should be install or uninstall +# $2 is the optional path to the files +# when $2 is unspecified, the path is: +# @SRCDIR@ +################################################## + +if [ -n "$2" ]; then + SRCDIR="$2" +else + SRCDIR="@SRCDIR@" +fi + +case "$1" in +'install') + echo "Begin freedesktop install..." + echo "Install menu items" + xdg-desktop-menu install ${SRCDIR}/*.desktop + echo "Done!" + echo "" + ;; +'uninstall') + echo "Begin freedesktop uninstall..." + echo "Uninstall menu items" + xdg-desktop-menu uninstall `ls ${SRCDIR}/*.desktop | xargs -n1 basename` + echo "Done!" + echo "" + ;; +*) + echo "Usage: $0 [install|uninstall]" + ;; +esac |