diff --git a/README.md b/README.md
index 8f82594..9d71b4f 100644
--- a/README.md
+++ b/README.md
@@ -30,6 +30,13 @@ format to store user input files.
## Contributing to JsonCpp
+### Building
+
+Both CMake and Meson tools are capable of generating a variety of build environments for you preferred development environment.
+Using cmake or meson you can generate an XCode, Visual Studio, Unix Makefile, Ninja, or other environment that fits your needs.
+
+An example of a common Meson/Ninja environment is described next.
+
### Building and testing with Meson/Ninja
Thanks to David Seifert (@SoapGentoo), we (the maintainers) now use
[meson](http://mesonbuild.com/) and [ninja](https://ninja-build.org/) to build
diff --git a/makefiles/msvc2017/jsoncpp.sln b/makefiles/msvc2017/jsoncpp.sln
deleted file mode 100644
index cf77ce0..0000000
--- a/makefiles/msvc2017/jsoncpp.sln
+++ /dev/null
@@ -1,64 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 15
-VisualStudioVersion = 15.0.28307.102
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_json", "lib_json.vcxproj", "{B84F7231-16CE-41D8-8C08-7B523FF4225B}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "jsontest", "jsontest.vcxproj", "{25AF2DD2-D396-4668-B188-488C33B8E620}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_lib_json", "test_lib_json.vcxproj", "{B7A96B78-2782-40D2-8F37-A2DEF2B9C26D}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|x64 = Debug|x64
- Debug|x86 = Debug|x86
- dummy|x64 = dummy|x64
- dummy|x86 = dummy|x86
- Release|x64 = Release|x64
- Release|x86 = Release|x86
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {B84F7231-16CE-41D8-8C08-7B523FF4225B}.Debug|x64.ActiveCfg = Debug|x64
- {B84F7231-16CE-41D8-8C08-7B523FF4225B}.Debug|x64.Build.0 = Debug|x64
- {B84F7231-16CE-41D8-8C08-7B523FF4225B}.Debug|x86.ActiveCfg = Debug|Win32
- {B84F7231-16CE-41D8-8C08-7B523FF4225B}.Debug|x86.Build.0 = Debug|Win32
- {B84F7231-16CE-41D8-8C08-7B523FF4225B}.dummy|x64.ActiveCfg = dummy|x64
- {B84F7231-16CE-41D8-8C08-7B523FF4225B}.dummy|x64.Build.0 = dummy|x64
- {B84F7231-16CE-41D8-8C08-7B523FF4225B}.dummy|x86.ActiveCfg = dummy|Win32
- {B84F7231-16CE-41D8-8C08-7B523FF4225B}.dummy|x86.Build.0 = dummy|Win32
- {B84F7231-16CE-41D8-8C08-7B523FF4225B}.Release|x64.ActiveCfg = Release|x64
- {B84F7231-16CE-41D8-8C08-7B523FF4225B}.Release|x64.Build.0 = Release|x64
- {B84F7231-16CE-41D8-8C08-7B523FF4225B}.Release|x86.ActiveCfg = Release|Win32
- {B84F7231-16CE-41D8-8C08-7B523FF4225B}.Release|x86.Build.0 = Release|Win32
- {25AF2DD2-D396-4668-B188-488C33B8E620}.Debug|x64.ActiveCfg = Debug|x64
- {25AF2DD2-D396-4668-B188-488C33B8E620}.Debug|x64.Build.0 = Debug|x64
- {25AF2DD2-D396-4668-B188-488C33B8E620}.Debug|x86.ActiveCfg = Debug|Win32
- {25AF2DD2-D396-4668-B188-488C33B8E620}.Debug|x86.Build.0 = Debug|Win32
- {25AF2DD2-D396-4668-B188-488C33B8E620}.dummy|x64.ActiveCfg = Debug|x64
- {25AF2DD2-D396-4668-B188-488C33B8E620}.dummy|x64.Build.0 = Debug|x64
- {25AF2DD2-D396-4668-B188-488C33B8E620}.dummy|x86.ActiveCfg = Debug|Win32
- {25AF2DD2-D396-4668-B188-488C33B8E620}.dummy|x86.Build.0 = Debug|Win32
- {25AF2DD2-D396-4668-B188-488C33B8E620}.Release|x64.ActiveCfg = Release|x64
- {25AF2DD2-D396-4668-B188-488C33B8E620}.Release|x64.Build.0 = Release|x64
- {25AF2DD2-D396-4668-B188-488C33B8E620}.Release|x86.ActiveCfg = Release|Win32
- {25AF2DD2-D396-4668-B188-488C33B8E620}.Release|x86.Build.0 = Release|Win32
- {B7A96B78-2782-40D2-8F37-A2DEF2B9C26D}.Debug|x64.ActiveCfg = Debug|x64
- {B7A96B78-2782-40D2-8F37-A2DEF2B9C26D}.Debug|x64.Build.0 = Debug|x64
- {B7A96B78-2782-40D2-8F37-A2DEF2B9C26D}.Debug|x86.ActiveCfg = Debug|Win32
- {B7A96B78-2782-40D2-8F37-A2DEF2B9C26D}.Debug|x86.Build.0 = Debug|Win32
- {B7A96B78-2782-40D2-8F37-A2DEF2B9C26D}.dummy|x64.ActiveCfg = Debug|x64
- {B7A96B78-2782-40D2-8F37-A2DEF2B9C26D}.dummy|x64.Build.0 = Debug|x64
- {B7A96B78-2782-40D2-8F37-A2DEF2B9C26D}.dummy|x86.ActiveCfg = Debug|Win32
- {B7A96B78-2782-40D2-8F37-A2DEF2B9C26D}.dummy|x86.Build.0 = Debug|Win32
- {B7A96B78-2782-40D2-8F37-A2DEF2B9C26D}.Release|x64.ActiveCfg = Release|x64
- {B7A96B78-2782-40D2-8F37-A2DEF2B9C26D}.Release|x64.Build.0 = Release|x64
- {B7A96B78-2782-40D2-8F37-A2DEF2B9C26D}.Release|x86.ActiveCfg = Release|Win32
- {B7A96B78-2782-40D2-8F37-A2DEF2B9C26D}.Release|x86.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- SolutionGuid = {4EE0C79B-26FE-4FB3-B025-AA18203D1636}
- EndGlobalSection
-EndGlobal
diff --git a/makefiles/msvc2017/jsontest.vcxproj b/makefiles/msvc2017/jsontest.vcxproj
deleted file mode 100644
index de43cfe..0000000
--- a/makefiles/msvc2017/jsontest.vcxproj
+++ /dev/null
@@ -1,168 +0,0 @@
-
-
-
-
- Debug
- Win32
-
-
- Debug
- x64
-
-
- Release
- Win32
-
-
- Release
- x64
-
-
-
- {25AF2DD2-D396-4668-B188-488C33B8E620}
- Win32Proj
-
-
-
- Application
- v141
- MultiByte
-
-
- Application
- v141
- MultiByte
-
-
- Application
- v141
- MultiByte
-
-
- Application
- v141
- MultiByte
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- <_ProjectFileVersion>15.0.28127.55
-
-
- ../../build/vs71/debug/jsontest\
- ../../build/vs71/debug/jsontest\
- true
-
-
- true
-
-
- ../../build/vs71/release/jsontest\
- ../../build/vs71/release/jsontest\
- false
-
-
- false
-
-
-
- Disabled
- ../../include;%(AdditionalIncludeDirectories)
- WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
- true
- EnableFastChecks
- MultiThreadedDebug
-
- Level3
- EditAndContinue
-
-
- $(OutDir)jsontest.exe
- true
- $(OutDir)jsontest.pdb
- Console
- MachineX86
-
-
-
-
- Disabled
- ../../include;%(AdditionalIncludeDirectories)
- WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
- EnableFastChecks
- MultiThreadedDebug
-
-
- Level3
- ProgramDatabase
-
-
- $(OutDir)jsontest.exe
- true
- $(OutDir)jsontest.pdb
- Console
-
-
-
-
- ../../include;%(AdditionalIncludeDirectories)
- WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
- MultiThreaded
-
- Level3
- ProgramDatabase
-
-
- $(OutDir)jsontest.exe
- true
- Console
- true
- true
- MachineX86
-
-
-
-
- ../../include;%(AdditionalIncludeDirectories)
- WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
- MultiThreaded
-
-
- Level3
- ProgramDatabase
-
-
- $(OutDir)jsontest.exe
- true
- Console
- true
- true
-
-
-
-
-
-
-
- {b84f7231-16ce-41d8-8c08-7b523ff4225b}
- false
-
-
-
-
-
-
\ No newline at end of file
diff --git a/makefiles/msvc2017/lib_json.vcxproj b/makefiles/msvc2017/lib_json.vcxproj
deleted file mode 100644
index 092bd29..0000000
--- a/makefiles/msvc2017/lib_json.vcxproj
+++ /dev/null
@@ -1,258 +0,0 @@
-
-
-
-
- Debug
- Win32
-
-
- Debug
- x64
-
-
- dummy
- Win32
-
-
- dummy
- x64
-
-
- Release
- Win32
-
-
- Release
- x64
-
-
-
- {B84F7231-16CE-41D8-8C08-7B523FF4225B}
- Win32Proj
-
-
-
- DynamicLibrary
- v141
- MultiByte
- true
-
-
- DynamicLibrary
- v141
- MultiByte
- true
-
-
- StaticLibrary
- v141
- MultiByte
- true
-
-
- StaticLibrary
- v141
- MultiByte
- true
-
-
- StaticLibrary
- v141
- MultiByte
-
-
- StaticLibrary
- v141
- MultiByte
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- <_ProjectFileVersion>15.0.28127.55
-
-
- ../../build/vs71/debug/lib_json\
- ../../build/vs71/debug/lib_json\
-
-
-
- ../../build/vs71/release/lib_json\
- ../../build/vs71/release/lib_json\
-
-
- $(Configuration)\
- $(Configuration)\
-
-
-
- Disabled
- ../../include;%(AdditionalIncludeDirectories)
- WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)
- true
- true
- EnableFastChecks
- MultiThreadedDebug
- true
- true
- false
- true
-
- Level3
- EditAndContinue
-
-
- $(OutDir)json_vc71_libmtd.lib
-
-
-
-
- Disabled
- ../../include;%(AdditionalIncludeDirectories)
- WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)
- true
- EnableFastChecks
- MultiThreadedDebugDLL
- true
- true
- false
- true
-
-
- Level3
- ProgramDatabase
-
-
- $(OutDir)json_vc71_libmtd.lib
-
-
-
-
- true
- ../../include;%(AdditionalIncludeDirectories)
- WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)
- true
- MultiThreaded
- true
- true
- false
- true
-
- AssemblyAndSourceCode
- Level3
- ProgramDatabase
-
-
- $(OutDir)json_vc71_libmt.lib
-
-
-
-
- true
- ../../include;%(AdditionalIncludeDirectories)
- WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)
- true
- MultiThreadedDLL
- true
- true
- false
- true
-
-
- NoListing
- Level3
- ProgramDatabase
-
-
- $(OutDir)json_vc71_libmt.lib
-
-
-
-
- true
- ../../include;%(AdditionalIncludeDirectories)
- WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)
- true
- MultiThreaded
- true
- true
- false
- true
-
- AssemblyAndSourceCode
- Level3
- ProgramDatabase
-
-
- true
- Windows
- true
- true
- MachineX86
-
-
-
-
- true
- ../../include;%(AdditionalIncludeDirectories)
- WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)
- true
- MultiThreaded
- true
- true
- false
- true
-
-
- AssemblyAndSourceCode
- Level3
- ProgramDatabase
-
-
- true
- Windows
- true
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/makefiles/msvc2017/test_lib_json.vcxproj b/makefiles/msvc2017/test_lib_json.vcxproj
deleted file mode 100644
index 89a336f..0000000
--- a/makefiles/msvc2017/test_lib_json.vcxproj
+++ /dev/null
@@ -1,189 +0,0 @@
-
-
-
-
- Debug
- Win32
-
-
- Debug
- x64
-
-
- Release
- Win32
-
-
- Release
- x64
-
-
-
- {B7A96B78-2782-40D2-8F37-A2DEF2B9C26D}
- test_lib_json
- Win32Proj
-
-
-
- Application
- v141
- MultiByte
-
-
- Application
- v141
- MultiByte
-
-
- Application
- v141
- MultiByte
-
-
- Application
- v141
- MultiByte
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- <_ProjectFileVersion>15.0.28127.55
-
-
- ../../build/vs71/debug/test_lib_json\
- ../../build/vs71/debug/test_lib_json\
- true
-
-
- true
-
-
- ../../build/vs71/release/test_lib_json\
- ../../build/vs71/release/test_lib_json\
- false
-
-
- false
-
-
-
- Disabled
- ../../include;%(AdditionalIncludeDirectories)
- WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
- true
- EnableFastChecks
- MultiThreadedDebug
-
- Level3
- EditAndContinue
-
-
- $(OutDir)test_lib_json.exe
- true
- $(OutDir)test_lib_json.pdb
- Console
- MachineX86
-
-
- Running all unit tests
- $(TargetPath)
-
-
-
-
- Disabled
- ../../include;%(AdditionalIncludeDirectories)
- WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
- EnableFastChecks
- MultiThreadedDebug
-
-
- Level3
- ProgramDatabase
-
-
- $(OutDir)test_lib_json.exe
- true
- $(OutDir)test_lib_json.pdb
- Console
-
-
- Running all unit tests
- $(TargetPath)
-
-
-
-
- ../../include;%(AdditionalIncludeDirectories)
- WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
- MultiThreaded
-
- Level3
- ProgramDatabase
-
-
- $(OutDir)test_lib_json.exe
- true
- Console
- true
- true
- MachineX86
-
-
- Running all unit tests
- $(TargetPath)
-
-
-
-
- ../../include;%(AdditionalIncludeDirectories)
- WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
- MultiThreaded
-
-
- Level3
- ProgramDatabase
-
-
- $(OutDir)test_lib_json.exe
- true
- Console
- true
- true
-
-
- Running all unit tests
- $(TargetPath)
-
-
-
-
-
-
-
-
-
-
-
- {b84f7231-16ce-41d8-8c08-7b523ff4225b}
- false
-
-
-
-
-
-
\ No newline at end of file