From 4f9dd8d3d06258ba3870f92e089176aa46f50c12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sveinar=20S=C3=B8pler?= Date: Tue, 2 Apr 2019 16:31:21 +0200 Subject: [PATCH] [build] Add version info to compiled DLLs Fixes #980. --- meson.build | 2 ++ src/d3d10/meson.build | 27 ++++++++++++++++++++++++--- src/d3d10/version10.rc | 32 ++++++++++++++++++++++++++++++++ src/d3d10/version10_1.rc | 32 ++++++++++++++++++++++++++++++++ src/d3d10/version10_core.rc | 32 ++++++++++++++++++++++++++++++++ src/d3d11/meson.build | 9 ++++++++- src/d3d11/version.rc | 32 ++++++++++++++++++++++++++++++++ src/dxgi/meson.build | 9 ++++++++- src/dxgi/version.rc | 32 ++++++++++++++++++++++++++++++++ 9 files changed, 202 insertions(+), 5 deletions(-) create mode 100644 src/d3d10/version10.rc create mode 100644 src/d3d10/version10_1.rc create mode 100644 src/d3d10/version10_core.rc create mode 100644 src/d3d11/version.rc create mode 100644 src/dxgi/version.rc diff --git a/meson.build b/meson.build index 2174ede04dd..d70e65ef84a 100644 --- a/meson.build +++ b/meson.build @@ -25,6 +25,8 @@ else dxvk_library_path = meson.source_root() + '/lib32' endif +wrc = cpu_family == 'x86_64' ? find_program('x86_64-w64-mingw32-windres') : find_program('i686-w64-mingw32-windres') + code = '''#ifndef __WINE__ #error 1 #endif''' diff --git a/src/d3d10/meson.build b/src/d3d10/meson.build index 899de196e39..f3da0c5f6e2 100644 --- a/src/d3d10/meson.build +++ b/src/d3d10/meson.build @@ -1,3 +1,24 @@ +d3d10_res = custom_target( + 'version10.res', + input : 'version10.rc', + output : 'version10.o', + command : [ wrc, '@INPUT@', '@OUTPUT@' ], +) + +d3d10_1_res = custom_target( + 'version10_1.res', + input : 'version10_1.rc', + output : 'version10_1.o', + command : [ wrc, '@INPUT@', '@OUTPUT@' ], +) + +d3d10_core_res = custom_target( + 'version10_core.res', + input : 'version10_core.rc', + output : 'version10_core.o', + command : [ wrc, '@INPUT@', '@OUTPUT@' ], +) + d3d10_main_src = [ 'd3d10_main.cpp', 'd3d10_reflection.cpp', @@ -6,7 +27,7 @@ d3d10_main_src = [ d3d10_deps = [ lib_d3dcompiler_43, lib_dxgi ] d3d10_deps += dxvk_winelib ? lib_d3d11 : d3d11_dep -d3d10_core_dll = shared_library('d3d10core'+dll_ext, d3d10_main_src, +d3d10_core_dll = shared_library('d3d10core'+dll_ext, d3d10_main_src, not dxvk_winelib ? d3d10_core_res : [], name_prefix : '', dependencies : [ d3d10_deps, dxbc_dep, dxvk_dep ], include_directories : dxvk_include_path, @@ -15,7 +36,7 @@ d3d10_core_dll = shared_library('d3d10core'+dll_ext, d3d10_main_src, vs_module_defs : 'd3d10core'+def_spec_ext, override_options : ['cpp_std='+dxvk_cpp_std]) -d3d10_dll = shared_library('d3d10'+dll_ext, d3d10_main_src, +d3d10_dll = shared_library('d3d10'+dll_ext, d3d10_main_src, not dxvk_winelib ? d3d10_res : [], name_prefix : '', dependencies : [ d3d10_deps, dxbc_dep, dxvk_dep ], include_directories : dxvk_include_path, @@ -24,7 +45,7 @@ d3d10_dll = shared_library('d3d10'+dll_ext, d3d10_main_src, vs_module_defs : 'd3d10'+def_spec_ext, override_options : ['cpp_std='+dxvk_cpp_std]) -d3d10_1_dll = shared_library('d3d10_1'+dll_ext, d3d10_main_src, +d3d10_1_dll = shared_library('d3d10_1'+dll_ext, d3d10_main_src, not dxvk_winelib ? d3d10_1_res : [], name_prefix : '', dependencies : [ d3d10_deps, dxbc_dep, dxvk_dep ], include_directories : dxvk_include_path, diff --git a/src/d3d10/version10.rc b/src/d3d10/version10.rc new file mode 100644 index 00000000000..43d7a62fdbf --- /dev/null +++ b/src/d3d10/version10.rc @@ -0,0 +1,32 @@ +#include + +// DLL version information. +VS_VERSION_INFO VERSIONINFO +FILEVERSION 10,0,17763,1 +PRODUCTVERSION 10,0,17763,1 +FILEFLAGSMASK VS_FFI_FILEFLAGSMASK +FILEFLAGS 0 +FILEOS VOS_NT_WINDOWS32 +FILETYPE VFT_DLL +FILESUBTYPE VFT2_UNKNOWN +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "080904b0" + BEGIN + VALUE "CompanyName", "DXVK" + VALUE "FileDescription", "Direct3D 10 Runtime" + VALUE "FileVersion", "10.0.17763.1 (WinBuild.160101.0800)" + VALUE "InternalName", "D3D10.dll" + VALUE "LegalCopyright", "zlib/libpng license" + VALUE "OriginalFilename", "D3D10.dll" + VALUE "ProductName", "DXVK" + VALUE "ProductVersion", "10.0.17763.1" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0809, 1200 + END +END + diff --git a/src/d3d10/version10_1.rc b/src/d3d10/version10_1.rc new file mode 100644 index 00000000000..92550d32254 --- /dev/null +++ b/src/d3d10/version10_1.rc @@ -0,0 +1,32 @@ +#include + +// DLL version information. +VS_VERSION_INFO VERSIONINFO +FILEVERSION 10,0,17763,1 +PRODUCTVERSION 10,0,17763,1 +FILEFLAGSMASK VS_FFI_FILEFLAGSMASK +FILEFLAGS 0 +FILEOS VOS_NT_WINDOWS32 +FILETYPE VFT_DLL +FILESUBTYPE VFT2_UNKNOWN +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "080904b0" + BEGIN + VALUE "CompanyName", "DXVK" + VALUE "FileDescription", "Direct3D 10.1 Runtime" + VALUE "FileVersion", "10.0.17763.1 (WinBuild.160101.0800)" + VALUE "InternalName", "D3D10_1.dll" + VALUE "LegalCopyright", "zlib/libpng license" + VALUE "OriginalFilename", "D3D10_1.dll" + VALUE "ProductName", "DXVK" + VALUE "ProductVersion", "10.0.17763.1" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0809, 1200 + END +END + diff --git a/src/d3d10/version10_core.rc b/src/d3d10/version10_core.rc new file mode 100644 index 00000000000..30e0c056b3b --- /dev/null +++ b/src/d3d10/version10_core.rc @@ -0,0 +1,32 @@ +#include + +// DLL version information. +VS_VERSION_INFO VERSIONINFO +FILEVERSION 10,0,17763,1 +PRODUCTVERSION 10,0,17763,1 +FILEFLAGSMASK VS_FFI_FILEFLAGSMASK +FILEFLAGS 0 +FILEOS VOS_NT_WINDOWS32 +FILETYPE VFT_DLL +FILESUBTYPE VFT2_UNKNOWN +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "080904b0" + BEGIN + VALUE "CompanyName", "DXVK" + VALUE "FileDescription", "Direct3D 10 Runtime" + VALUE "FileVersion", "10.0.17763.1 (WinBuild.160101.0800)" + VALUE "InternalName", "D3D10Core.dll" + VALUE "LegalCopyright", "zlib/libpng license" + VALUE "OriginalFilename", "D3D10Core.dll" + VALUE "ProductName", "DXVK" + VALUE "ProductVersion", "10.0.17763.1" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0809, 1200 + END +END + diff --git a/src/d3d11/meson.build b/src/d3d11/meson.build index 15ae3d0eaef..09c2ae667aa 100644 --- a/src/d3d11/meson.build +++ b/src/d3d11/meson.build @@ -1,3 +1,10 @@ +d3d11_res = custom_target( + 'version_11.res', + input : 'version.rc', + output : 'version.o', + command : [ wrc, '@INPUT@', '@OUTPUT@' ], +) + dxgi_common_src = [ '../dxgi/dxgi_format.cpp', '../dxgi/dxgi_monitor.cpp', @@ -54,7 +61,7 @@ d3d11_src = [ 'd3d11_view_uav.cpp', ] -d3d11_dll = shared_library('d3d11'+dll_ext, dxgi_common_src + d3d11_src + d3d10_src, glsl_generator.process(dxgi_shaders), +d3d11_dll = shared_library('d3d11'+dll_ext, dxgi_common_src + d3d11_src + d3d10_src, glsl_generator.process(dxgi_shaders), not dxvk_winelib ? d3d11_res : [], name_prefix : '', dependencies : [ lib_dxgi, dxbc_dep, dxvk_dep ], include_directories : dxvk_include_path, diff --git a/src/d3d11/version.rc b/src/d3d11/version.rc new file mode 100644 index 00000000000..060ef7bc2cc --- /dev/null +++ b/src/d3d11/version.rc @@ -0,0 +1,32 @@ +#include + +// DLL version information. +VS_VERSION_INFO VERSIONINFO +FILEVERSION 10,0,17763,1 +PRODUCTVERSION 10,0,17763,1 +FILEFLAGSMASK VS_FFI_FILEFLAGSMASK +FILEFLAGS 0 +FILEOS VOS_NT_WINDOWS32 +FILETYPE VFT_DLL +FILESUBTYPE VFT2_UNKNOWN +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "080904b0" + BEGIN + VALUE "CompanyName", "DXVK" + VALUE "FileDescription", "Direct3D 11 Runtime" + VALUE "FileVersion", "10.0.17763.1 (WinBuild.160101.0800)" + VALUE "InternalName", "D3D11.dll" + VALUE "LegalCopyright", "zlib/libpng license" + VALUE "OriginalFilename", "D3D11.dll" + VALUE "ProductName", "DXVK" + VALUE "ProductVersion", "10.0.17763.1" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0809, 1200 + END +END + diff --git a/src/dxgi/meson.build b/src/dxgi/meson.build index 18d74816731..1060dd61b37 100644 --- a/src/dxgi/meson.build +++ b/src/dxgi/meson.build @@ -1,3 +1,10 @@ +dxgi_res = custom_target( + 'version_dxgi.res', + input : 'version.rc', + output : 'version.o', + command : [ wrc, '@INPUT@', '@OUTPUT@' ], +) + dxgi_shaders = files([ 'shaders/dxgi_presenter_frag.frag', 'shaders/dxgi_presenter_vert.vert', @@ -15,7 +22,7 @@ dxgi_src = [ 'dxgi_swapchain.cpp', ] -dxgi_dll = shared_library('dxgi'+dll_ext, dxgi_src, +dxgi_dll = shared_library('dxgi'+dll_ext, dxgi_src, not dxvk_winelib ? dxgi_res : [], name_prefix : '', dependencies : [ dxvk_dep ], include_directories : dxvk_include_path, diff --git a/src/dxgi/version.rc b/src/dxgi/version.rc new file mode 100644 index 00000000000..9461d71839e --- /dev/null +++ b/src/dxgi/version.rc @@ -0,0 +1,32 @@ +#include + +// DLL version information. +VS_VERSION_INFO VERSIONINFO +FILEVERSION 10,0,17763,1 +PRODUCTVERSION 10,0,17763,1 +FILEFLAGSMASK VS_FFI_FILEFLAGSMASK +FILEFLAGS 0 +FILEOS VOS_NT_WINDOWS32 +FILETYPE VFT_DLL +FILESUBTYPE VFT2_UNKNOWN +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "080904b0" + BEGIN + VALUE "CompanyName", "DXVK" + VALUE "FileDescription", "DirectX Graphics Infrastructure" + VALUE "FileVersion", "10.0.17763.1 (WinBuild.160101.0800)" + VALUE "InternalName", "dxgi.dll" + VALUE "LegalCopyright", "zlib/libpng license" + VALUE "OriginalFilename", "dxgi.dll" + VALUE "ProductName", "DXVK" + VALUE "ProductVersion", "10.0.17763.1" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0809, 1200 + END +END +