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