From 6fb765ca9d77d628919655e1ecce05854ab03e6a Mon Sep 17 00:00:00 2001 From: lady mesh Date: Thu, 19 Sep 2019 16:27:40 +0200 Subject: [PATCH] Add: Windows DLL version info header (#298) Closes #294 --- CMakeLists.txt | 7 +++++-- src/win32/pugixml.rc | 47 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+), 2 deletions(-) create mode 100644 src/win32/pugixml.rc diff --git a/CMakeLists.txt b/CMakeLists.txt index f043962..3489298 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -31,6 +31,9 @@ mark_as_advanced(CLEAR CMAKE_INSTALL_LIBDIR CMAKE_INSTALL_INCLUDEDIR) set(HEADERS src/pugixml.hpp src/pugiconfig.hpp) set(SOURCES src/pugixml.cpp) +if(BUILD_SHARED_LIBS AND MSVC) + set(PUGIXML_WINDLL_SRCS src/win32/pugixml.rc) +endif() if(DEFINED BUILD_DEFINES) foreach(DEFINE ${BUILD_DEFINES}) @@ -46,10 +49,10 @@ endif() if(BUILD_SHARED_AND_STATIC_LIBS) add_library(pugixml-static STATIC ${HEADERS} ${SOURCES}) - add_library(pugixml-shared SHARED ${HEADERS} ${SOURCES}) + add_library(pugixml-shared SHARED ${HEADERS} ${SOURCES} ${PUGIXML_WINDLL_SRCS}) else() if(BUILD_SHARED_LIBS) - add_library(pugixml SHARED ${HEADERS} ${SOURCES}) + add_library(pugixml SHARED ${HEADERS} ${SOURCES} ${PUGIXML_WINDLL_SRCS}) else() add_library(pugixml STATIC ${HEADERS} ${SOURCES}) endif() diff --git a/src/win32/pugixml.rc b/src/win32/pugixml.rc new file mode 100644 index 0000000..3bfff7d --- /dev/null +++ b/src/win32/pugixml.rc @@ -0,0 +1,47 @@ +#include +//#include "../pugixml.hpp" +// TODO these defines should be moved to ../pugixml.hpp +// but when included pugixml.hpp(131): error RC2104: undefined keyword or key name: typedef +# define PUGIXML_VERSION_MAJOR 1 +# define PUGIXML_VERSION_MINOR 10 +# define PUGIXML_VERSION_PATCH 0 +# define PUGIXML_VERSION_NUMBER "1.10.0\0" + +#ifdef GCC_WINDRES +VS_VERSION_INFO VERSIONINFO +#else +VS_VERSION_INFO VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE +#endif + FILEVERSION PUGIXML_VERSION_MAJOR,PUGIXML_VERSION_MINOR,PUGIXML_VERSION_PATCH,0 + PRODUCTVERSION PUGIXML_VERSION_MAJOR,PUGIXML_VERSION_MINOR,PUGIXML_VERSION_PATCH,0 + FILEFLAGSMASK VS_FFI_FILEFLAGSMASK +#ifdef _DEBUG + FILEFLAGS 1 +#else + FILEFLAGS 0 +#endif + FILEOS VOS__WINDOWS32 + FILETYPE VFT_DLL + FILESUBTYPE 0 // not used +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904E4" + //language ID = U.S. English, char set = Windows, Multilingual + BEGIN + VALUE "CompanyName", "zeux/pugixml\0" + VALUE "FileDescription", "pugixml library\0" + VALUE "FileVersion", PUGIXML_VERSION_NUMBER + VALUE "InternalName", "pugixml.dll\0" + VALUE "LegalCopyright", "Copyright (C) 2006-2019, by Arseny Kapoulkine\0" + VALUE "OriginalFilename", "pugixml.dll\0" + VALUE "ProductName", "pugixml\0" + VALUE "ProductVersion", PUGIXML_VERSION_NUMBER + VALUE "Comments", "For more information visit https://github.com/zeux/pugixml/\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0409, 1252 + END +END