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:
parent
1e8a03c2e8
commit
1ad0c96abb
|
@ -19,6 +19,8 @@
|
|||
|
||||
include(GrPython)
|
||||
add_subdirectory(helpers)
|
||||
add_subdirectory(apps_data)
|
||||
|
||||
|
||||
GR_PYTHON_INSTALL(
|
||||
PROGRAMS
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
Loading…
Reference in New Issue