Restore use of Windows resource when building a Windows DLL

git-svn-id: https://svn.apache.org/repos/asf/xerces/c/trunk@1827134 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 2b45097..c29aa25 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1239,6 +1239,16 @@
   list(APPEND libxerces_c_HEADERS ${winfmgr_headers})
 endif()
 
+# Windows resource.  With some additional work to clean it up, it
+# might be possible to use with Cygwin and MinGW.
+if(MSVC)
+  configure_file(
+    "${CMAKE_CURRENT_SOURCE_DIR}/xercesc/util/version.rc.cmake.in"
+    "${CMAKE_CURRENT_BINARY_DIR}/xercesc/util/version.rc"
+    @ONLY)
+  list(APPEND libxerces_c_RESOURCES "${CMAKE_CURRENT_BINARY_DIR}/xercesc/util/version.rc")
+endif()
+
 # Definitions required for building
 add_definitions(
   -DHAVE_CONFIG_H=1
@@ -1259,7 +1269,8 @@
 set_target_properties(xerces-c-headers PROPERTIES FOLDER "Library")
 
 add_library(xerces-c
-  ${libxerces_c_SOURCES})
+  ${libxerces_c_SOURCES}
+  ${libxerces_c_RESOURCES})
 target_link_libraries(xerces-c ${libxerces_c_DEPS})
 if(XERCES_USE_NETACCESSOR_CURL)
   target_include_directories(xerces-c SYSTEM PRIVATE ${CURL_INCLUDE_DIRS})
diff --git a/src/xercesc/util/version.rc.cmake.in b/src/xercesc/util/version.rc.cmake.in
new file mode 100644
index 0000000..f3f17ab
--- /dev/null
+++ b/src/xercesc/util/version.rc.cmake.in
@@ -0,0 +1,38 @@
+#include <windows.h>
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION @xerces-c_VERSION_MAJOR@,@xerces-c_VERSION_MINOR@,@xerces-c_VERSION_PATCH@,0
+ PRODUCTVERSION @xerces-c_VERSION_MAJOR@,@xerces-c_VERSION_MINOR@,@xerces-c_VERSION_PATCH@,0
+ FILEFLAGSMASK 0x17L
+#ifdef _DEBUG
+ FILEFLAGS VS_FF_DEBUG
+#else
+ FILEFLAGS 0x0L
+#endif
+ FILEOS VOS_NT_WINDOWS32
+ FILETYPE VFT_DLL
+ FILESUBTYPE VFT2_UNKNOWN
+BEGIN
+    BLOCK "StringFileInfo"
+    BEGIN
+        BLOCK "040904b0"
+        BEGIN
+            VALUE "Comments", "Dynamic linked library for Xerces-C++\0"
+            VALUE "CompanyName", "Apache Software Foundation\0"
+            VALUE "FileDescription", "Shared Library for Xerces-C++ Version @xerces-c_VERSION@\0"
+            VALUE "FileVersion", "@xerces-c_VERSION_MAJOR@, @xerces-c_VERSION_MINOR@, @xerces-c_VERSION_PATCH@\0"
+            VALUE "InternalName", XERCES_DLL_NAME
+            VALUE "LegalCopyright", "Copyright © 1999-2018 Apache Software Foundation; subject to licensing terms\0"
+            VALUE "LegalTrademarks", "\0"
+            VALUE "OriginalFilename", XERCES_DLL_NAME
+            VALUE "PrivateBuild", "\0"
+            VALUE "ProductName", "Xerces-C++ Version @xerces-c_VERSION@\0"
+            VALUE "ProductVersion", "@xerces-c_VERSION_MAJOR@, @xerces-c_VERSION_MINOR@, @xerces-c_VERSION_PATCH@\0"
+            VALUE "SpecialBuild", "\0"
+        END
+    END
+    BLOCK "VarFileInfo"
+    BEGIN
+        VALUE "Translation", 0x409, 0x04e4
+    END
+END