From 086f6f746899ae712d0fb96697779b803910c390 Mon Sep 17 00:00:00 2001 From: John Darrington Date: Sat, 27 Mar 2021 10:26:08 +0100 Subject: [PATCH] Generate cosmetics for windows hosts. On w32 hosts, generate the resource file and link it to the psppire executable. Also generate the pspp.ico which is associated with the executable. --- configure.ac | 1 + src/ui/gui/automake.mk | 16 +++++++++++++++- src/ui/gui/icons/automake.mk | 34 ++++++++++++++++++++++++++++++++++ src/ui/gui/pspp.rc.in | 22 ++++++++++++++++++++++ 4 files changed, 72 insertions(+), 1 deletion(-) create mode 100644 src/ui/gui/pspp.rc.in diff --git a/configure.ac b/configure.ac index 6d1b3bbc99..773bd7555b 100644 --- a/configure.ac +++ b/configure.ac @@ -48,6 +48,7 @@ PSPP_CHECK_DOT PSPP_ENABLE_WERROR AM_CONDITIONAL(cc_is_gcc, test x"$GCC" = x"yes" ) +AM_CONDITIONAL(host_is_w32, [case $host_os in mingw*) true;; *) false;; esac] ) PSPP_PERL PSPP_PYTHON diff --git a/src/ui/gui/automake.mk b/src/ui/gui/automake.mk index d08ab7bfcf..4d5765db62 100644 --- a/src/ui/gui/automake.mk +++ b/src/ui/gui/automake.mk @@ -73,7 +73,8 @@ if building_gui EXTRA_DIST += \ src/ui/gui/marshaller-list \ - src/ui/gui/pspplogo.svg + src/ui/gui/pspplogo.svg \ + src/ui/gui/pspp.rc.in src_ui_gui_psppire_CPPFLAGS= @@ -118,6 +119,10 @@ src_ui_gui_psppire_LDADD = \ $(LIBINTL) \ $(GSL_LIBS) +if host_is_w32 +src_ui_gui_psppire_LDADD += src/ui/gui/pspp.res +endif + src_ui_gui_spreadsheet_test_LDADD = \ src/libpspp-core.la \ @@ -213,6 +218,10 @@ src_ui_gui_psppire_SOURCES = \ src/ui/gui/windows-menu.c \ src/ui/gui/windows-menu.h +src/ui/gui/pspp.rc: src/ui/gui/pspp.rc.in + @$(MKDIR_P) src/ui/gui + sed -e 's/%version%/'$(PACKAGE_VERSION)'/' $< > $@ + noinst_LTLIBRARIES += src/ui/gui/libwidgets-essential.la src_ui_gui_libwidgets_essential_la_SOURCES = \ @@ -416,6 +425,11 @@ EXTRA_DIST += src/ui/gui/include/gtk/gtk.in.h src/ui/gui/resources.xml include $(top_srcdir)/src/ui/gui/icons/automake.mk +src/ui/gui/pspp.res: src/ui/gui/pspp.rc $(w32_icons) + @$(MKDIR_P) src/ui/gui + $(host_triplet)-windres $< -O coff -o $@ + + UNINSTALL_DATA_HOOKS += update-icon-cache INSTALL_DATA_HOOKS += update-icon-cache diff --git a/src/ui/gui/icons/automake.mk b/src/ui/gui/icons/automake.mk index 35d2331821..bc121b5153 100644 --- a/src/ui/gui/icons/automake.mk +++ b/src/ui/gui/icons/automake.mk @@ -45,8 +45,19 @@ uninstall-ext-icons: done ; \ done +if host_is_w32 +w32_icons=src/ui/gui/icons/pspp.ico \ +src/ui/gui/icons/pspp-sav.ico \ +src/ui/gui/icons/pspp-zsav.ico \ +src/ui/gui/icons/pspp-por.ico \ +src/ui/gui/icons/pspp-sps.ico +endif install-icons: + for wicon in $(w32_icons); do \ + $(MKDIR_P) $(DESTDIR)$(pkgdatadir)/icons/ ; \ + $(INSTALL_DATA) $$wicon $(DESTDIR)$(pkgdatadir)/icons/ ; \ + done for context in actions categories ; do \ $(MKDIR_P) $(DESTDIR)$(pkgdatadir)/$$context; \ for size in $(sizes); do \ @@ -69,6 +80,8 @@ uninstall-icons: fi ; \ done ; \ done + rm -f $(DESTDIR)$(pkgdatadir)/icons/pspp*.ico + INSTALL_DATA_HOOKS += install-icons install-ext-icons @@ -88,5 +101,26 @@ esac EXTRA_DIST += $(top_srcdir)/src/ui/gui/artwork/splash.svg $(icons) $(icon_srcs) +src/ui/gui/icons/pspp.ico: src/ui/gui/icons/16x16/apps/pspp.png src/ui/gui/icons/32x32/apps/pspp.png src/ui/gui/icons/48x48/apps/pspp.png src/ui/gui/icons/256x256/apps/pspp.png + $(MKDIR_P) ${@D} + convert $^ $@ + +src/ui/gui/icons/pspp-sav.ico: src/ui/gui/icons/16x16/mimetypes/application-x-spss-sav.png src/ui/gui/icons/32x32/mimetypes/application-x-spss-sav.png src/ui/gui/icons/48x48/mimetypes/application-x-spss-sav.png src/ui/gui/icons/256x256/mimetypes/application-x-spss-sav.png + $(MKDIR_P) ${@D} + convert $^ $@ + +src/ui/gui/icons/pspp-zsav.ico: src/ui/gui/icons/16x16/mimetypes/application-x-spss-zsav.png src/ui/gui/icons/32x32/mimetypes/application-x-spss-zsav.png src/ui/gui/icons/48x48/mimetypes/application-x-spss-zsav.png src/ui/gui/icons/256x256/mimetypes/application-x-spss-zsav.png + $(MKDIR_P) ${@D} + convert $^ $@ + +src/ui/gui/icons/pspp-por.ico: src/ui/gui/icons/16x16/mimetypes/application-x-spss-por.png src/ui/gui/icons/32x32/mimetypes/application-x-spss-por.png src/ui/gui/icons/48x48/mimetypes/application-x-spss-por.png src/ui/gui/icons/256x256/mimetypes/application-x-spss-por.png + $(MKDIR_P) ${@D} + convert $^ $@ + +src/ui/gui/icons/pspp-sps.ico: src/ui/gui/icons/16x16/mimetypes/application-x-spss-sps.png src/ui/gui/icons/32x32/mimetypes/application-x-spss-sps.png src/ui/gui/icons/48x48/mimetypes/application-x-spss-sps.png src/ui/gui/icons/256x256/mimetypes/application-x-spss-sps.png + $(MKDIR_P) ${@D} + convert $^ $@ + + endif diff --git a/src/ui/gui/pspp.rc.in b/src/ui/gui/pspp.rc.in new file mode 100644 index 0000000000..f7fdbd60f6 --- /dev/null +++ b/src/ui/gui/pspp.rc.in @@ -0,0 +1,22 @@ +PSPP-SPLASH ICON "src/ui/gui/icons/pspp.ico" +1 VERSIONINFO +FILEVERSION 00001 +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "080904E4" + BEGIN + VALUE "CompanyName", "The GNU Project is not a company" + VALUE "FileDescription", "PSPPIRE (PSPP+GUI)" + VALUE "LegalCopyright", "Free Software Foundation, Inc" + VALUE "OriginalFilename", "psppire.exe" + VALUE "InternalName", "psppire" + VALUE "ProductName", "PSPP" + VALUE "ProductVersion", "%version%" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x809, 1252 + END +END \ No newline at end of file -- 2.30.2