hyperrealm / libconfig

C/C++ library for processing configuration files
https://hyperrealm.github.io/libconfig/
GNU Lesser General Public License v2.1
1.1k stars 360 forks source link

Addressing the issue #150 #176

Closed Suthiro closed 3 years ago

Suthiro commented 3 years ago

This pull request targets the issue #150. In short, the changes prepare the VS2017 solution for building x64 modules and add two static build configurations, resulting in 8 possible output variants for each project. Changes have been tested, and the projects is ready for batch build with VS2017 right after the git pull.

Detailed changelog (for all projects): Fixed (disabled) "enable full optimization (/O2)" and "omit frame pointers (/Oy)" parameters in debug mode. Added x64 platform and configured. Added and configured two new build configurations: Debug_Static and Release_Static. These configurations provide static libraries with statically linked MSVC runtime (/MT and /MTd switches). Depending on configuration, output files now have suffixes: Release - no (i.e. libconfig.lib), Debug - d (i.e. libconfigd.lib), Release_Static - s (i.e. libconfigs.lib), Debug_Static - ds (i.e. libconfigds.lib). Redirected the output of intermediate build files to \temp\(Platform)\(Project)\(Configuration) to enable the possibility of error-free batch build. Redirected the output of final build files to \build\(Platform). Added postbuild event for all applicable examples to copy appropriate *.cfg files also into \build\(Platform). Added few VS-related lines to .gitignore for convenience.