Generate cosmetics for windows hosts.
authorJohn Darrington <john@darrington.wattle.id.au>
Sat, 27 Mar 2021 09:26:08 +0000 (10:26 +0100)
committerJohn Darrington <john@darrington.wattle.id.au>
Sat, 27 Mar 2021 09:26:08 +0000 (10:26 +0100)
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
src/ui/gui/automake.mk
src/ui/gui/icons/automake.mk
src/ui/gui/pspp.rc.in [new file with mode: 0644]

index 6d1b3bbc99038624338b8ec496a153c7eb624ac7..773bd7555b1a66aa21b2399a55b18cf4f2f57584 100644 (file)
@@ -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
index d08ab7bfcf3d5b61a667ee212b0f40048e0837a3..4d5765db62328c07a94d12ed0a5c2d67cabf5d26 100644 (file)
@@ -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
 
index 35d2331821717674cd787e4a258de8a4cbaa4346..bc121b51530894873b8c140b2c0552a0e42bf6db 100644 (file)
@@ -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 (file)
index 0000000..f7fdbd6
--- /dev/null
@@ -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