----- Original Message ----- > On 11/7/14, Clinton Stimpson <clin...@elemtech.com> wrote: > > On Friday, November 07, 2014 03:50:32 PM Eric Wing wrote: > >> I have a build and packaging system where I can distribute (mostly) > >> standalone apps for Linux desktop. I am using the default CPack > >> installer which creates .tar.gz, .Z, and .sh files. > >> > >> I like this opposed to the .deb/.rpm package systems because users > >> don't need root access to install/use my stuff (and can place > >> anywhere), and I only need a single package for all Linux desktops. > >> > >> But it's pretty plain-Jane and it would be nice to provide an icon or > >> something. So I was wondering if anybody had > >> suggestions/advice/strategies on supporting .desktop files. As far as > >> I can tell, I need paths to the icon and the executable, which is > >> completely variable based on where the user puts it. And I'm not sure > >> where this file is supposed to be written to. (Remember that I don't > >> use root access.) > >> > >> Thanks, > >> Eric > > > > Perhaps you can do this: > > > > Include the .desktop file in your installation. > > > > To add, your installer can call > > xdg-desktop-menu install <install>/share/applications/MyApp.desktop > > > > To remove, your installer can call > > xdg-desktop-menu uninstall <install>/share/applications/MyApp.desktop > > > > If xdg-desktop-menu is called as root, it'll copy the .desktop file to the > > system location. If it is called as a non-root user, it'll copy the file > > to > > > > the user specific desktop area. xdg-desktop-menu also takes care of > > refreshing > > the icons in the launcher. > > > > During uninstall, it'll remove the copy. > > > > By the way, we do .rpm and .deb, but also give instructions for users to > > extract the files if they want their own installation directory. > > > > The above .desktop support can be put in a script and added to the postinst > > > > and prerm scripts for rpm and deb. > > > > This makes things more automatic for the majority of our users (basically > > download-click-and-run). > > > > Clint > > > > > > Thanks for the information. Based on that, I wrote a script that is > bundled with the contents and when run, will generate the correct > .desktop file with the correct absolute paths needed and invoke > xdg-desktop-menu install. > > I noticed that the CPack tarball generator also generates a > self-extracting .sh ball. Is there anyway to hook into that to add a > postinst like stage so I can invoke my script? >
You can copy CMake/Modules/CPack.STGZ_Header.sh.in, make your modifications, then set CPACK_STGZ_HEADER_FILE to point to it. Clint -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake