From 5304f276d8ab52ee35ac46c63ff28d6412c658a9 Mon Sep 17 00:00:00 2001 From: "Jonas A. Krieger" Date: Fri, 13 Mar 2026 15:20:31 +0100 Subject: [PATCH] adds installation of musredit as a unix app --- cmake/CPackOptions.cmake.in | 2 +- cmake/musredit.desktop | 13 +++++++++++++ cmake/musrfit-root6.spec.in | 2 ++ cmake/post_install.sh | 7 +++++++ cmake/post_uninstall.sh | 8 ++++++++ src/musredit_qt5/musredit/CMakeLists.txt | 16 ++++++++++++++++ src/musredit_qt5/musredit/icons/musredit.png | Bin 0 -> 1457 bytes src/musredit_qt6/musredit/CMakeLists.txt | 16 ++++++++++++++++ src/musredit_qt6/musredit/icons/musredit.png | Bin 0 -> 1457 bytes 9 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 cmake/musredit.desktop create mode 100644 src/musredit_qt5/musredit/icons/musredit.png create mode 100644 src/musredit_qt6/musredit/icons/musredit.png 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 0000000000000000000000000000000000000000..b58c46f1093a9b7af36507c72f1927744172e2e8 GIT binary patch literal 1457 zcmV;i1y1^jP)t!MK|j&j$W`0{UIvM?lK}P+h6b z&3E-CNTMO=^1Z0&GLS>nz5WC7zL4AZq@sSHIL`dBGtmA_u8AhYn7gOwG7;8^=pq~6 zPDYalSQ~ORJen(l>5%d8U#P2_0#w@hRLligV>C|K2`C2;(eilX?1Kld1HaoP5i$C+ zPc1XVo&jxWC<}`J~+6;NT&#B5sqxvC-odJKXfc{+LomFBQ3ozxX zqqpruJ_N)@U|=xZG>SZc@N&P)_jI)B=;_#Ns9CEp9HIY#QF3jyfC7}5xK;Itin%8r z zCW!`W8miRfwMer%=&5g1n>v$i!~{43?X4iMt1@C)bQt6XM^9T{VkaFbd8k-#&AeGI z#{hm^vAWze%`XsH7zrsw*&TBEHs)G@O(pj3L*!Xe-RbD<*qTX_evfaxsJ?6CI^ztq z&%0xmDPU8HMFCW-|4bmNGm^MwPLNl|$jU-Y#Q4hAp&ZXf{!~a@*MQ1?gzquTZ!%5d z=xOTQq#s)q0YsHjB3dfwi{?F|4g*^3dVoKQv;g)&5oxyPls6OiN z0=hCKAB8jE-xBh8ud2#+5zZTGET}x%emOBtO==NchgJM+1*pms>Y6#Plu`7%>o*9rjB%*cMIYv%yS^1@NQf9R z470kbyYr%5-aJkr@!H$15jnYNV+l}a6Hsod;YyaZ&`u@BJtOibKxntOs~=$Tsg_&7 zr#2CThM2v{(&kNov&a9wsO&_EE>TQ@ZO%Z)p=gYh7@L7WtdlSZJe6$zTOoNy(Cupl zZ2;Zn40LQs67v`6)FNS3Wl#I(sq)2F;_bjZ;2ba~4Uf&h72qXc3Gg1!2P_2|6JnP{ zu5%I?e*U{J7f&yp#GJ|Z%uSI$3}7N7X?TnhPy;LnjsYvu^xGN{upH~P*BALc015l* z+n5V*;*vER+|y=dWu-cHF$dpb-K|u(mc;%Oup`0N1e9XcfGZD|S3FozQaW>b>6D~X zLqy-fl(G>GpH0JK6#B3hSa$E?WN3}_S)U?iC=zquc*tZ5yAdcj{Nh^UEH;Yn7YSde z>hAn8-dAXa%oasrY*5uB;jr;WqR(ywrT}(Z#4zx8w#nTo>;yCd2W;#Yu@`n%QSejf zjK{kaH2VFacEGh}WxU@`z#gpAgv8(cToScI=<)jbhDrcrHh>8CnqnNXL|L$#Lf3&m z^F=ZxifCl)&dn%NX#&260-r*fcci0E+#26GrU3sh|a18LHS#{PG$QIC;aE z{8qGG&;k~pYPscDwxCAf69AOsmj^2zTiCrfwiYXB0RYn6Y$^-@D4dJz++rwr0qGF` z8Xds;LOGrjwX;~~K>wtO`2i>cZjP5+6ap6%P8;ZN6V35Ia)o~ZBnF}1DP-Sy00000 LNkvXXu0mjf6>zLd literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..b58c46f1093a9b7af36507c72f1927744172e2e8 GIT binary patch literal 1457 zcmV;i1y1^jP)t!MK|j&j$W`0{UIvM?lK}P+h6b z&3E-CNTMO=^1Z0&GLS>nz5WC7zL4AZq@sSHIL`dBGtmA_u8AhYn7gOwG7;8^=pq~6 zPDYalSQ~ORJen(l>5%d8U#P2_0#w@hRLligV>C|K2`C2;(eilX?1Kld1HaoP5i$C+ zPc1XVo&jxWC<}`J~+6;NT&#B5sqxvC-odJKXfc{+LomFBQ3ozxX zqqpruJ_N)@U|=xZG>SZc@N&P)_jI)B=;_#Ns9CEp9HIY#QF3jyfC7}5xK;Itin%8r z zCW!`W8miRfwMer%=&5g1n>v$i!~{43?X4iMt1@C)bQt6XM^9T{VkaFbd8k-#&AeGI z#{hm^vAWze%`XsH7zrsw*&TBEHs)G@O(pj3L*!Xe-RbD<*qTX_evfaxsJ?6CI^ztq z&%0xmDPU8HMFCW-|4bmNGm^MwPLNl|$jU-Y#Q4hAp&ZXf{!~a@*MQ1?gzquTZ!%5d z=xOTQq#s)q0YsHjB3dfwi{?F|4g*^3dVoKQv;g)&5oxyPls6OiN z0=hCKAB8jE-xBh8ud2#+5zZTGET}x%emOBtO==NchgJM+1*pms>Y6#Plu`7%>o*9rjB%*cMIYv%yS^1@NQf9R z470kbyYr%5-aJkr@!H$15jnYNV+l}a6Hsod;YyaZ&`u@BJtOibKxntOs~=$Tsg_&7 zr#2CThM2v{(&kNov&a9wsO&_EE>TQ@ZO%Z)p=gYh7@L7WtdlSZJe6$zTOoNy(Cupl zZ2;Zn40LQs67v`6)FNS3Wl#I(sq)2F;_bjZ;2ba~4Uf&h72qXc3Gg1!2P_2|6JnP{ zu5%I?e*U{J7f&yp#GJ|Z%uSI$3}7N7X?TnhPy;LnjsYvu^xGN{upH~P*BALc015l* z+n5V*;*vER+|y=dWu-cHF$dpb-K|u(mc;%Oup`0N1e9XcfGZD|S3FozQaW>b>6D~X zLqy-fl(G>GpH0JK6#B3hSa$E?WN3}_S)U?iC=zquc*tZ5yAdcj{Nh^UEH;Yn7YSde z>hAn8-dAXa%oasrY*5uB;jr;WqR(ywrT}(Z#4zx8w#nTo>;yCd2W;#Yu@`n%QSejf zjK{kaH2VFacEGh}WxU@`z#gpAgv8(cToScI=<)jbhDrcrHh>8CnqnNXL|L$#Lf3&m z^F=ZxifCl)&dn%NX#&260-r*fcci0E+#26GrU3sh|a18LHS#{PG$QIC;aE z{8qGG&;k~pYPscDwxCAf69AOsmj^2zTiCrfwiYXB0RYn6Y$^-@D4dJz++rwr0qGF` z8Xds;LOGrjwX;~~K>wtO`2i>cZjP5+6ap6%P8;ZN6V35Ia)o~ZBnF}1DP-Sy00000 LNkvXXu0mjf6>zLd literal 0 HcmV?d00001