diff --git a/cmake/CPackOptions.cmake.in b/cmake/CPackOptions.cmake.in index 6d4fd97f4..63ae75bb2 100644 --- a/cmake/CPackOptions.cmake.in +++ b/cmake/CPackOptions.cmake.in @@ -17,7 +17,7 @@ set (CPACK_RESOURCE_FILE_LICENSE "@PROJECT_SOURCE_DIR@/COPYING") set (CPACK_RESOURCE_FILE_README "@PROJECT_SOURCE_DIR@/README.md") set (CPACK_RESOURCE_FILE_WELCOME "@PROJECT_SOURCE_DIR@/cmake/welcome.txt") -set (CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION "@CMAKE_INSTALL_PREFIX@;@CMAKE_INSTALL_PREFIX@/bin;@CMAKE_INSTALL_PREFIX@/include;@CMAKE_INSTALL_PREFIX@/share;@CMAKE_INSTALL_PREFIX@/lib64;@CMAKE_INSTALL_PREFIX@/lib;@CMAKE_INSTALL_PREFIX@/pkgconfig") +set (CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION "@CMAKE_INSTALL_PREFIX@;@CMAKE_INSTALL_PREFIX@/bin;@CMAKE_INSTALL_PREFIX@/include;@CMAKE_INSTALL_PREFIX@/share;@CMAKE_INSTALL_PREFIX@/lib64;@CMAKE_INSTALL_PREFIX@/lib;@CMAKE_INSTALL_PREFIX@/pkgconfig;@CMAKE_INSTALL_PREFIX@/share/applications;@CMAKE_INSTALL_PREFIX@/share/icons;@CMAKE_INSTALL_PREFIX@/share/icons/hicolor;@CMAKE_INSTALL_PREFIX@/share/icons/hicolor/48x48;@CMAKE_INSTALL_PREFIX@/share/icons/hicolor/48x48/apps") # we do not have any absolute paths, so do not need DESTDIR set (CPACK_SET_DESTDIR "OFF") diff --git a/cmake/musredit.desktop b/cmake/musredit.desktop new file mode 100644 index 000000000..95f028aef --- /dev/null +++ b/cmake/musredit.desktop @@ -0,0 +1,13 @@ +[Desktop Entry] +Name=MuSRedit +Comment=editor and launcher for the musrfit data analysis +GenericName=musrfit editor +Exec=musredit %F +Icon=musredit +Terminal=false +Type=Application +StartupWMClass=MuSRedit +Categories=Science;DataEditing; +MimeType=text/plain; +Keywords=muSR;fitting;musrfit;physics;muon; +StartupNotify=true \ No newline at end of file diff --git a/cmake/musrfit-root6.spec.in b/cmake/musrfit-root6.spec.in index da5f70547..856573329 100644 --- a/cmake/musrfit-root6.spec.in +++ b/cmake/musrfit-root6.spec.in @@ -91,6 +91,8 @@ rm -rf $RPM_BUILD_ROOT %_prefix/lib64/* %license COPYING %doc %_prefix/share/doc/musrfit +%{_datadir}/applications/musredit.desktop +%{_datadir}/icons/hicolor/48x48/apps/musredit.png diff --git a/cmake/post_install.sh b/cmake/post_install.sh index b77b23679..904e39420 100644 --- a/cmake/post_install.sh +++ b/cmake/post_install.sh @@ -10,3 +10,10 @@ then fi /sbin/ldconfig +#update .desktop and icons +if command -v update-desktop-database &>/dev/null; then + update-desktop-database -q /usr/share/applications || true +fi +if command -v gtk-update-icon-cache &>/dev/null; then + gtk-update-icon-cache -q -t /usr/share/icons/hicolor || true +fi \ No newline at end of file diff --git a/cmake/post_uninstall.sh b/cmake/post_uninstall.sh index 22ee00ec1..2f0b60362 100644 --- a/cmake/post_uninstall.sh +++ b/cmake/post_uninstall.sh @@ -3,3 +3,11 @@ echo " >> musrfit post uninstall script started ..." /sbin/ldconfig + +#update .desktop and icons +if command -v update-desktop-database &>/dev/null; then + update-desktop-database -q /usr/share/applications || true +fi +if command -v gtk-update-icon-cache &>/dev/null; then + gtk-update-icon-cache -q -t /usr/share/icons/hicolor || true +fi \ No newline at end of file diff --git a/src/musredit_qt5/musredit/CMakeLists.txt b/src/musredit_qt5/musredit/CMakeLists.txt index 76683614d..3e7191cad 100644 --- a/src/musredit_qt5/musredit/CMakeLists.txt +++ b/src/musredit_qt5/musredit/CMakeLists.txt @@ -133,6 +133,22 @@ else (APPLE) ) endif (APPLE) +# --- Linux App installation ---- +if (UNIX AND NOT APPLE) + install( + FILES + ${CMAKE_SOURCE_DIR}/cmake/musredit.desktop + DESTINATION + share/applications + ) + install( + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/icons/musredit.png + DESTINATION + share/icons/hicolor/48x48/apps + ) +endif (UNIX AND NOT APPLE) + #--- documentation installation info ------------------------------------------ install( DIRECTORY diff --git a/src/musredit_qt5/musredit/icons/musredit.png b/src/musredit_qt5/musredit/icons/musredit.png new file mode 100644 index 000000000..b58c46f10 Binary files /dev/null and b/src/musredit_qt5/musredit/icons/musredit.png differ diff --git a/src/musredit_qt6/musredit/CMakeLists.txt b/src/musredit_qt6/musredit/CMakeLists.txt index a74e3fd40..a3b186d15 100644 --- a/src/musredit_qt6/musredit/CMakeLists.txt +++ b/src/musredit_qt6/musredit/CMakeLists.txt @@ -133,6 +133,22 @@ else (APPLE) ) endif (APPLE) +# --- Linux App installation ---- +if (UNIX AND NOT APPLE) + install( + FILES + ${CMAKE_SOURCE_DIR}/cmake/musredit.desktop + DESTINATION + share/applications + ) + install( + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/icons/musredit.png + DESTINATION + share/icons/hicolor/48x48/apps + ) +endif (UNIX AND NOT APPLE) + #--- documentation installation info ------------------------------------------ install( DIRECTORY diff --git a/src/musredit_qt6/musredit/icons/musredit.png b/src/musredit_qt6/musredit/icons/musredit.png new file mode 100644 index 000000000..b58c46f10 Binary files /dev/null and b/src/musredit_qt6/musredit/icons/musredit.png differ