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.
This commit is contained in:
Piotr Krysik 2017-08-31 21:58:48 +02:00
parent 1e8a03c2e8
commit 1ad0c96abb
4 changed files with 75 additions and 2 deletions

View File

@ -19,6 +19,8 @@
include(GrPython)
add_subdirectory(helpers)
add_subdirectory(apps_data)
GR_PYTHON_INSTALL(
PROGRAMS

View File

@ -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)

View File

@ -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