Great to see this being tested. Thanks!
Including CMake build files in the repository is very much appreciated for building on different platforms and especially on Windows. Thank you for that.
The CMakeLists.txt doesn't create config.h. All #defines are set as compiler options. The config.h files under windows/vs* aren't meant to be used with CMake. Instead, common_w32res.rc shouldn't read config.h when it isn't present. The following patch works with the GNU Autotools based build. Does it work with CMake + VS2019? It requires that the #defines used for building C files are passed to the resource compiler too. (If they aren't, it should give an error.) After a successful build you can right-click liblzma.dll -> Properties -> Details to see if the info from the resource file is present.
This way also works, I just tested your patch on my system with VS2019. The DLL includes the following info, looks good to me:
File description: liblzma data compression library File version: 5.3.1.0 Product name: XZ Utils <https://tukaani.org/xz/> Product version: 5.3.1alpha Best regards, Markus Rickert
smime.p7s
Description: S/MIME cryptographic signature