[gtk/wip/fanc999/gtk-3-24-meson-msvc: 25/31] meson: Build the .rc files on Windows



commit a605db7e91cb43eaefb3432863c3fd3517bafbcb
Author: Chun-wei Fan <fanchunwei src gnome org>
Date:   Wed Mar 13 14:01:13 2019 +0800

    meson: Build the .rc files on Windows
    
    This will ensure that the version info is easily visible from the
    GDK/GTK+ DLLs, and ensure that the print dialogs will have a more modern
    look and feel.

 gdk/meson.build          | 11 +++++++++++
 gdk/win32/rc/gdk.rc.in   |  2 +-
 gtk/gtk-win32.rc.body.in |  5 ++++-
 gtk/meson.build          | 17 +++++++++++++++++
 4 files changed, 33 insertions(+), 2 deletions(-)
---
diff --git a/gdk/meson.build b/gdk/meson.build
index 8d296a6343..9bf99b81a2 100644
--- a/gdk/meson.build
+++ b/gdk/meson.build
@@ -177,6 +177,9 @@ gdkversion_cdata = configuration_data()
 gdkversion_cdata.set('GTK_MAJOR_VERSION', gtk_major_version)
 gdkversion_cdata.set('GTK_MINOR_VERSION', gtk_minor_version)
 gdkversion_cdata.set('GTK_MICRO_VERSION', gtk_micro_version)
+gdkversion_cdata.set('GTK_API_VERSION', gtk_api_version)
+gdkversion_cdata.set('GTK_BINARY_VERSION', gtk_binary_version)
+gdkversion_cdata.set('GTK_VERSION', meson.project_version())
 
 gdkversionmacros = configure_file(
   input  : 'gdkversionmacros.h.in',
@@ -212,6 +215,14 @@ if win32_enabled
                cc.find_library('imm32'),
                cc.find_library('setupapi'),
                cc.find_library('winmm')]
+
+  gdk_rc = configure_file(
+    input: 'win32/rc/gdk.rc.in',
+    output: 'gdk.rc',
+    configuration: gdkversion_cdata,
+  )
+  gdk_res = import('windows').compile_resources(gdk_rc, include_directories: include_directories('win32/rc'))
+  gdk_sources += gdk_res
 endif
 
 gdk_sources = [
diff --git a/gdk/win32/rc/gdk.rc.in b/gdk/win32/rc/gdk.rc.in
index 07ab1b4553..f9b57f5197 100644
--- a/gdk/win32/rc/gdk.rc.in
+++ b/gdk/win32/rc/gdk.rc.in
@@ -19,7 +19,7 @@ VS_VERSION_INFO VERSIONINFO
        VALUE "FileDescription", "GIMP Drawing Kit"
        VALUE "FileVersion", "@GTK_VERSION@.0"
        VALUE "InternalName", "libgdk-win32-@GTK_API_VERSION@-@LT_CURRENT_MINUS_AGE@"
-       VALUE "LegalCopyright", "Copyright � 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald. 
Modified by the GTK+ Team and others 1997-2011."
+       VALUE "LegalCopyright", "Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald. 
Modified by the GTK+ Team and others 1997-2011."
        VALUE "OriginalFilename", "libgdk-win32-@GTK_API_VERSION@-@LT_CURRENT_MINUS_AGE@.dll"
        VALUE "ProductName", "GTK+"
        VALUE "ProductVersion", "@GTK_VERSION@"
diff --git a/gtk/gtk-win32.rc.body.in b/gtk/gtk-win32.rc.body.in
index 4a42d5a666..6fa4ada027 100644
--- a/gtk/gtk-win32.rc.body.in
+++ b/gtk/gtk-win32.rc.body.in
@@ -1,3 +1,4 @@
+#include <winuser.h>
 #include <winver.h>
 
 VS_VERSION_INFO VERSIONINFO
@@ -17,7 +18,7 @@ VS_VERSION_INFO VERSIONINFO
        VALUE "FileDescription", "GIMP Toolkit"
        VALUE "FileVersion", "@GTK_VERSION@.0"
        VALUE "InternalName", "libgtk-win32-@GTK_API_VERSION@-@LT_CURRENT_MINUS_AGE@"
-       VALUE "LegalCopyright", "Copyright � 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald. 
Modified by the GTK+ Team and others 1997-2011."
+       VALUE "LegalCopyright", "Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald. 
Modified by the GTK+ Team and others 1997-2011."
        VALUE "OriginalFilename", "libgtk-win32-@GTK_API_VERSION@-@LT_CURRENT_MINUS_AGE@.dll"
        VALUE "ProductName", "GTK+"
        VALUE "ProductVersion", "@GTK_VERSION@"
@@ -28,3 +29,5 @@ VS_VERSION_INFO VERSIONINFO
       VALUE "Translation", 0x409, 1200
     END
   END
+
+ISOLATIONAWARE_MANIFEST_RESOURCE_ID RT_MANIFEST libgtk3.manifest
diff --git a/gtk/meson.build b/gtk/meson.build
index cc705816d1..33c572bf3b 100644
--- a/gtk/meson.build
+++ b/gtk/meson.build
@@ -784,6 +784,10 @@ gtkversion_cdata.set('GTK_MINOR_VERSION', gtk_minor_version)
 gtkversion_cdata.set('GTK_MICRO_VERSION', gtk_micro_version)
 gtkversion_cdata.set('GTK_BINARY_AGE', gtk_binary_age)
 gtkversion_cdata.set('GTK_INTERFACE_AGE', gtk_interface_age)
+gtkversion_cdata.set('GTK_API_VERSION', gtk_api_version)
+gtkversion_cdata.set('GTK_BINARY_VERSION', gtk_binary_version)
+gtkversion_cdata.set('GTK_VERSION', meson.project_version())
+gtkversion_cdata.set('EXE_MANIFEST_ARCHITECTURE', '*')
 
 gtkversion = configure_file(input: 'gtkversion.h.in',
                             output: 'gtkversion.h',
@@ -844,6 +848,19 @@ if win32_enabled
   gtk_cargs += []
   gtk_sources += gtk_use_win32_sources
   gtk_deps += [ giowin32_dep, pangowin32_dep ]
+
+  gtk_rc_body = configure_file(
+    input: 'gtk-win32.rc.body.in',
+    output: 'gtk-win32.rc.body',
+       configuration: gtkversion_cdata,
+  )
+  gtk_rc_manifest = configure_file(
+    input: 'libgtk3.manifest.in',
+    output: 'libgtk3.manifest',
+    configuration: gtkversion_cdata,
+  )
+  gtk_res = import('windows').compile_resources(gtk_rc_body)
+  gtk_sources += gtk_res
 else
   gtk_deps += [ atkbridge_dep, ]
 endif


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]