diff --git a/Data/Data.progen b/Data/Data.progen
index 8bb947569..336587d3e 100644
--- a/Data/Data.progen
+++ b/Data/Data.progen
@@ -1,17 +1,22 @@
vc.project.guid = 240E83C3-368D-11DB-9FBC-00123FC423B5
vc.project.name = Data
vc.project.target = Poco${vc.project.name}
+vc.project.prototype = Data_vs90.vcproj
vc.project.type = library
vc.project.pocobase = ..
vc.project.outdir = ${vc.project.pocobase}
vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
-vc.project.compiler.include = ..\\Foundation\\include
+# TODO, for now we can just send cpp std via AdditionalOptions (see below)
+#vc.project.compiler.std.cpp=stdcpp17
+#vc.project.compiler.std.c=stdc11
+vc.project.compiler.include = .\\src;..\\Foundation\\include
vc.project.compiler.defines =
-vc.project.compiler.defines.shared = ${vc.project.name}_EXPORTS
+vc.project.compiler.defines.shared = ${vc.project.name}_EXPORTS;SQLParser_EXPORTS
vc.project.compiler.defines.debug_shared = ${vc.project.compiler.defines.shared}
vc.project.compiler.defines.release_shared = ${vc.project.compiler.defines.shared}
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.compiler.additionalOptions.Win32.x64 = /bigobj
vc.solution.create = true
vc.solution.include = testsuite\\TestSuite
diff --git a/Data/Data_NO_SQL_PARSER.progen b/Data/Data_NO_SQL_PARSER.progen
new file mode 100644
index 000000000..8bb947569
--- /dev/null
+++ b/Data/Data_NO_SQL_PARSER.progen
@@ -0,0 +1,17 @@
+vc.project.guid = 240E83C3-368D-11DB-9FBC-00123FC423B5
+vc.project.name = Data
+vc.project.target = Poco${vc.project.name}
+vc.project.type = library
+vc.project.pocobase = ..
+vc.project.outdir = ${vc.project.pocobase}
+vc.project.platforms = Win32
+vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
+vc.project.prototype = ${vc.project.name}_vs90.vcproj
+vc.project.compiler.include = ..\\Foundation\\include
+vc.project.compiler.defines =
+vc.project.compiler.defines.shared = ${vc.project.name}_EXPORTS
+vc.project.compiler.defines.debug_shared = ${vc.project.compiler.defines.shared}
+vc.project.compiler.defines.release_shared = ${vc.project.compiler.defines.shared}
+vc.project.compiler.additionalOptions.Win32.x64 = /bigobj
+vc.solution.create = true
+vc.solution.include = testsuite\\TestSuite
diff --git a/Data/Data_NO_SQL_PARSER.vcproj b/Data/Data_NO_SQL_PARSER.vcproj
new file mode 100644
index 000000000..bdd6f6e7b
--- /dev/null
+++ b/Data/Data_NO_SQL_PARSER.vcproj
@@ -0,0 +1,923 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Data/Data_VS90.vcproj b/Data/Data_VS90.vcproj
index bdd6f6e7b..7ee4df50e 100644
--- a/Data/Data_VS90.vcproj
+++ b/Data/Data_VS90.vcproj
@@ -651,6 +651,14 @@
RelativePath=".\include\Poco\Data\SimpleRowFormatter.h"
>
+
+
+
+
@@ -783,6 +791,10 @@
RelativePath=".\src\SimpleRowFormatter.cpp"
>
+
+
@@ -853,6 +865,194 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Data/Data_vs170.vcxproj b/Data/Data_vs170.vcxproj
index a3f0a4dd6..f3f19b33d 100644
--- a/Data/Data_vs170.vcxproj
+++ b/Data/Data_vs170.vcxproj
@@ -230,7 +230,7 @@
- <_ProjectFileVersion>17.0.32505.173
+ <_ProjectFileVersion>17.0.34202.158
PocoDataA64d
PocoDatamdd
PocoDatamtd
@@ -331,8 +331,8 @@
Disabled
- .\include;..\Foundation\include;%(AdditionalIncludeDirectories)
- WIN32;_DEBUG;_WINDOWS;_USRDLL;Data_EXPORTS;%(PreprocessorDefinitions)
+ .\include;.\src;..\Foundation\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_WINDOWS;_USRDLL;Data_EXPORTS;SQLParser_EXPORTS;%(PreprocessorDefinitions)
true
EnableFastChecks
MultiThreadedDebugDLL
@@ -344,13 +344,15 @@
Level3
ProgramDatabase
Default
+ $(OutDir)$(TargetName).pdb
+ /Zc:__cplusplus /std:c++17 %(AdditionalOptions)
true
..\binA64\PocoDataA64d.dll
true
true
- ..\binA64\PocoDataA64d.pdb
+ $(OutDir)$(TargetName).pdb
..\libA64;%(AdditionalLibraryDirectories)
Console
..\libA64\PocoDatad.lib
@@ -364,8 +366,8 @@
true
Speed
true
- .\include;..\Foundation\include;%(AdditionalIncludeDirectories)
- WIN32;NDEBUG;_WINDOWS;_USRDLL;Data_EXPORTS;%(PreprocessorDefinitions)
+ .\include;.\src;..\Foundation\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_WINDOWS;_USRDLL;Data_EXPORTS;SQLParser_EXPORTS;%(PreprocessorDefinitions)
true
MultiThreadedDLL
false
@@ -376,6 +378,8 @@
Level3
Default
+ $(OutDir)$(TargetName).pdb
+ /Zc:__cplusplus /std:c++17 %(AdditionalOptions)
true
@@ -393,7 +397,7 @@
Disabled
- .\include;..\Foundation\include;%(AdditionalIncludeDirectories)
+ .\include;.\src;..\Foundation\include;%(AdditionalIncludeDirectories)
WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)
true
EnableFastChecks
@@ -403,10 +407,11 @@
true
true
- ..\libA64\PocoDatamtd.pdb
+ $(OutDir)$(TargetName).pdb
Level3
ProgramDatabase
Default
+ /Zc:__cplusplus /std:c++17 %(AdditionalOptions)
true
@@ -420,7 +425,7 @@
true
Speed
true
- .\include;..\Foundation\include;%(AdditionalIncludeDirectories)
+ .\include;.\src;..\Foundation\include;%(AdditionalIncludeDirectories)
WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)
true
MultiThreaded
@@ -432,6 +437,8 @@
Level3
Default
+ $(OutDir)$(TargetName).pdb
+ /Zc:__cplusplus /std:c++17 %(AdditionalOptions)
true
@@ -441,7 +448,7 @@
Disabled
- .\include;..\Foundation\include;%(AdditionalIncludeDirectories)
+ .\include;.\src;..\Foundation\include;%(AdditionalIncludeDirectories)
WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)
true
EnableFastChecks
@@ -451,10 +458,11 @@
true
true
- ..\libA64\PocoDatamdd.pdb
+ $(OutDir)$(TargetName).pdb
Level3
ProgramDatabase
Default
+ /Zc:__cplusplus /std:c++17 %(AdditionalOptions)
true
@@ -468,7 +476,7 @@
true
Speed
true
- .\include;..\Foundation\include;%(AdditionalIncludeDirectories)
+ .\include;.\src;..\Foundation\include;%(AdditionalIncludeDirectories)
WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)
true
MultiThreadedDLL
@@ -480,6 +488,8 @@
Level3
Default
+ $(OutDir)$(TargetName).pdb
+ /Zc:__cplusplus /std:c++17 %(AdditionalOptions)
true
@@ -489,8 +499,8 @@
Disabled
- .\include;..\Foundation\include;%(AdditionalIncludeDirectories)
- WIN32;_DEBUG;_WINDOWS;_USRDLL;Data_EXPORTS;%(PreprocessorDefinitions)
+ .\include;.\src;..\Foundation\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_WINDOWS;_USRDLL;Data_EXPORTS;SQLParser_EXPORTS;%(PreprocessorDefinitions)
true
EnableFastChecks
MultiThreadedDebugDLL
@@ -502,13 +512,15 @@
Level3
ProgramDatabase
Default
+ $(OutDir)$(TargetName).pdb
+ /Zc:__cplusplus /std:c++17 %(AdditionalOptions)
true
..\bin\PocoDatad.dll
true
true
- ..\bin\PocoDatad.pdb
+ $(OutDir)$(TargetName).pdb
..\lib;%(AdditionalLibraryDirectories)
Console
..\lib\PocoDatad.lib
@@ -522,8 +534,8 @@
true
Speed
true
- .\include;..\Foundation\include;%(AdditionalIncludeDirectories)
- WIN32;NDEBUG;_WINDOWS;_USRDLL;Data_EXPORTS;%(PreprocessorDefinitions)
+ .\include;.\src;..\Foundation\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_WINDOWS;_USRDLL;Data_EXPORTS;SQLParser_EXPORTS;%(PreprocessorDefinitions)
true
MultiThreadedDLL
false
@@ -534,6 +546,8 @@
Level3
Default
+ $(OutDir)$(TargetName).pdb
+ /Zc:__cplusplus /std:c++17 %(AdditionalOptions)
true
@@ -551,7 +565,7 @@
Disabled
- .\include;..\Foundation\include;%(AdditionalIncludeDirectories)
+ .\include;.\src;..\Foundation\include;%(AdditionalIncludeDirectories)
WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)
true
EnableFastChecks
@@ -561,10 +575,11 @@
true
true
- ..\lib\PocoDatamtd.pdb
+ $(OutDir)$(TargetName).pdb
Level3
ProgramDatabase
Default
+ /Zc:__cplusplus /std:c++17 %(AdditionalOptions)
true
@@ -578,7 +593,7 @@
true
Speed
true
- .\include;..\Foundation\include;%(AdditionalIncludeDirectories)
+ .\include;.\src;..\Foundation\include;%(AdditionalIncludeDirectories)
WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)
true
MultiThreaded
@@ -590,6 +605,8 @@
Level3
Default
+ $(OutDir)$(TargetName).pdb
+ /Zc:__cplusplus /std:c++17 %(AdditionalOptions)
true
@@ -599,7 +616,7 @@
Disabled
- .\include;..\Foundation\include;%(AdditionalIncludeDirectories)
+ .\include;.\src;..\Foundation\include;%(AdditionalIncludeDirectories)
WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)
true
EnableFastChecks
@@ -609,10 +626,11 @@
true
true
- ..\lib\PocoDatamdd.pdb
+ $(OutDir)$(TargetName).pdb
Level3
ProgramDatabase
Default
+ /Zc:__cplusplus /std:c++17 %(AdditionalOptions)
true
@@ -626,7 +644,7 @@
true
Speed
true
- .\include;..\Foundation\include;%(AdditionalIncludeDirectories)
+ .\include;.\src;..\Foundation\include;%(AdditionalIncludeDirectories)
WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)
true
MultiThreadedDLL
@@ -635,10 +653,11 @@
true
true
- ..\lib\PocoDatamd.pdb
+ $(OutDir)$(TargetName).pdb
Level3
Default
+ /Zc:__cplusplus /std:c++17 %(AdditionalOptions)
true
@@ -648,8 +667,8 @@
Disabled
- .\include;..\Foundation\include;%(AdditionalIncludeDirectories)
- WIN32;_DEBUG;_WINDOWS;_USRDLL;Data_EXPORTS;%(PreprocessorDefinitions)
+ .\include;.\src;..\Foundation\include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_WINDOWS;_USRDLL;Data_EXPORTS;SQLParser_EXPORTS;%(PreprocessorDefinitions)
true
EnableFastChecks
MultiThreadedDebugDLL
@@ -661,14 +680,15 @@
Level3
ProgramDatabase
Default
- /bigobj %(AdditionalOptions)
+ $(OutDir)$(TargetName).pdb
+ /Zc:__cplusplus /std:c++17%3b/bigobj %(AdditionalOptions)
true
..\bin64\PocoData64d.dll
true
true
- ..\bin64\PocoData64d.pdb
+ $(OutDir)$(TargetName).pdb
..\lib64;%(AdditionalLibraryDirectories)
Console
..\lib64\PocoDatad.lib
@@ -682,8 +702,8 @@
true
Speed
true
- .\include;..\Foundation\include;%(AdditionalIncludeDirectories)
- WIN32;NDEBUG;_WINDOWS;_USRDLL;Data_EXPORTS;%(PreprocessorDefinitions)
+ .\include;.\src;..\Foundation\include;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_WINDOWS;_USRDLL;Data_EXPORTS;SQLParser_EXPORTS;%(PreprocessorDefinitions)
true
MultiThreadedDLL
false
@@ -694,7 +714,8 @@
Level3
Default
- /bigobj %(AdditionalOptions)
+ $(OutDir)$(TargetName).pdb
+ /Zc:__cplusplus /std:c++17%3b/bigobj %(AdditionalOptions)
true
@@ -712,7 +733,7 @@
Disabled
- .\include;..\Foundation\include;%(AdditionalIncludeDirectories)
+ .\include;.\src;..\Foundation\include;%(AdditionalIncludeDirectories)
WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)
true
EnableFastChecks
@@ -722,11 +743,11 @@
true
true
- ..\lib64\PocoDatamtd.pdb
+ $(OutDir)$(TargetName).pdb
Level3
ProgramDatabase
Default
- /bigobj %(AdditionalOptions)
+ /Zc:__cplusplus /std:c++17%3b/bigobj %(AdditionalOptions)
true
@@ -740,7 +761,7 @@
true
Speed
true
- .\include;..\Foundation\include;%(AdditionalIncludeDirectories)
+ .\include;.\src;..\Foundation\include;%(AdditionalIncludeDirectories)
WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)
true
MultiThreaded
@@ -752,7 +773,8 @@
Level3
Default
- /bigobj %(AdditionalOptions)
+ $(OutDir)$(TargetName).pdb
+ /Zc:__cplusplus /std:c++17%3b/bigobj %(AdditionalOptions)
true
@@ -762,7 +784,7 @@
Disabled
- .\include;..\Foundation\include;%(AdditionalIncludeDirectories)
+ .\include;.\src;..\Foundation\include;%(AdditionalIncludeDirectories)
WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)
true
EnableFastChecks
@@ -772,11 +794,11 @@
true
true
- ..\lib64\PocoDatamdd.pdb
+ $(OutDir)$(TargetName).pdb
Level3
ProgramDatabase
Default
- /bigobj %(AdditionalOptions)
+ /Zc:__cplusplus /std:c++17%3b/bigobj %(AdditionalOptions)
true
@@ -790,7 +812,7 @@
true
Speed
true
- .\include;..\Foundation\include;%(AdditionalIncludeDirectories)
+ .\include;.\src;..\Foundation\include;%(AdditionalIncludeDirectories)
WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)
true
MultiThreadedDLL
@@ -802,7 +824,8 @@
Level3
Default
- /bigobj %(AdditionalOptions)
+ $(OutDir)$(TargetName).pdb
+ /Zc:__cplusplus /std:c++17%3b/bigobj %(AdditionalOptions)
true
@@ -854,6 +877,7 @@
+
@@ -861,6 +885,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -953,6 +1002,36 @@
true
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
+
+ true
+
true
diff --git a/Data/Data_vs170.vcxproj.filters b/Data/Data_vs170.vcxproj.filters
index b229d0a2d..c375c7cb8 100644
--- a/Data/Data_vs170.vcxproj.filters
+++ b/Data/Data_vs170.vcxproj.filters
@@ -2,31 +2,67 @@
- {25181de0-3e99-4db9-a218-4580b16cbb0a}
+ {b506cf12-ceab-4480-9dd5-756051d07e59}
- {bf1fcd58-d750-4f91-8eea-0dc1e09013b6}
+ {90bfe7ca-919b-4bd6-8c37-9dbe7112498c}
- {9ccb9717-2829-450a-b3ea-715077fc770f}
+ {e6833f80-3310-4e9c-8e2e-0bc97da8930b}
- {fa110a23-abc0-4838-8c37-2cf0a512d556}
+ {4e47ac5e-d10b-4f76-9a2e-2ee9bb9e8a5a}
- {6dd4ce47-c8de-48c7-891f-6fc47fff19e9}
+ {20d5b73e-b1a1-42df-9646-76a028076568}
- {5011cbf7-2ae9-4b14-9a03-bb9f9c754dc4}
+ {be02d32e-211c-4862-a024-45a3fee69a52}
+
+
+ {b7bbae6d-e7e9-4509-9913-39ed7f4b490d}
+
+
+ {83ee7750-9959-4d4e-9c5d-eee6ab11e7fc}
+
+
+ {86d2f06a-b0be-4c31-aaca-46c0ea8f0286}
+
+
+ {b6ca2721-dbbb-430a-a5be-c935eb0dc38f}
+
+
+ {d4b21be3-c7c5-4ae4-83ef-2c297f700dc0}
+
+
+ {b4468c52-548a-403f-bc0f-a16ad4ddb739}
+
+
+ {1dc3d753-71bd-4610-aea9-143c65775ff6}
+
+
+ {6acef4f6-0228-42fa-a749-459986350109}
+
+
+ {693d9699-5db9-4840-a7b5-f415dafb5313}
+
+
+ {fb4b6a93-f251-4a47-80ff-f1a20ba0d30e}
+
+
+ {0cf30b8a-83a6-46d6-bd8b-97fda9209963}
+
+
+ {50d1df52-b839-4b23-a1ae-70fcc8b5810c}
- {39e78f99-76eb-4ca6-a6e5-69380ba1e19f}
+ {f63fc3da-14d4-4a1d-8624-a6edd819c136}
- {c2cbcb61-3c9c-4208-aebc-bf1e7ec77703}
+ {06bd663d-63c8-4438-9d55-12e68e755a4f}
- {f59283d4-ff32-4856-903b-81bd84ebb146}
+ {663042c7-77cc-439e-b0e2-b5fcce9cf733}
@@ -93,6 +129,9 @@
DataCore\Header Files
+
+ DataCore\Header Files
+
DataCore\Header Files
@@ -141,6 +180,12 @@
DataCore\Header Files
+
+ DataCore\Header Files
+
+
+ DataCore\Header Files
+
DataCore\Header Files
@@ -174,10 +219,82 @@
SessionPooling\Header Files
-
- Logging\Header Files
+
+ SQLParser\Header Files
-
+
+ SQLParser\Header Files
+
+
+ SQLParser\Header Files
+
+
+ SQLParser\parser\Header Files
+
+
+ SQLParser\parser\Header Files
+
+
+ SQLParser\parser\Header Files
+
+
+ SQLParser\sql\Header Files
+
+
+ SQLParser\sql\Header Files
+
+
+ SQLParser\sql\Header Files
+
+
+ SQLParser\sql\Header Files
+
+
+ SQLParser\sql\Header Files
+
+
+ SQLParser\sql\Header Files
+
+
+ SQLParser\sql\Header Files
+
+
+ SQLParser\sql\Header Files
+
+
+ SQLParser\sql\Header Files
+
+
+ SQLParser\sql\Header Files
+
+
+ SQLParser\sql\Header Files
+
+
+ SQLParser\sql\Header Files
+
+
+ SQLParser\sql\Header Files
+
+
+ SQLParser\sql\Header Files
+
+
+ SQLParser\sql\Header Files
+
+
+ SQLParser\sql\Header Files
+
+
+ SQLParser\sql\Header Files
+
+
+ SQLParser\sql\Header Files
+
+
+ SQLParser\util\Header Files
+
+
Logging\Header Files
@@ -215,6 +332,9 @@
DataCore\Source Files
+
+ DataCore\Source Files
+
DataCore\Source Files
@@ -254,6 +374,9 @@
DataCore\Source Files
+
+ DataCore\Source Files
+
DataCore\Source Files
@@ -284,10 +407,37 @@
SessionPooling\Source Files
-
- Logging\Source Files
+
+ SQLParser\Source Files
-
+
+ SQLParser\Source Files
+
+
+ SQLParser\parser\Source Files
+
+
+ SQLParser\parser\Source Files
+
+
+ SQLParser\sql\Source Files
+
+
+ SQLParser\sql\Source Files
+
+
+ SQLParser\sql\Source Files
+
+
+ SQLParser\sql\Source Files
+
+
+ SQLParser\sql\Source Files
+
+
+ SQLParser\util\Source Files
+
+
Logging\Source Files
diff --git a/Data/testsuite/TestSuite.progen b/Data/testsuite/TestSuite.progen
index c9bc62810..6e936ac49 100644
--- a/Data/testsuite/TestSuite.progen
+++ b/Data/testsuite/TestSuite.progen
@@ -6,5 +6,9 @@ vc.project.pocobase = ..\\..
vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = TestSuite_vs90.vcproj
-vc.project.compiler.include = ..\\..\\Foundation\\include
+# TODO, for now we can just send cpp std via AdditionalOptions (see below)
+#vc.project.compiler.std.cpp=stdcpp17
+#vc.project.compiler.std.c=stdc11
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
+vc.project.compiler.include = ..\\src;..\\..\\Foundation\\include
vc.project.linker.dependencies.Win32 = iphlpapi.lib
diff --git a/Data/testsuite/TestSuite_NO_SQL_PARSER.progen b/Data/testsuite/TestSuite_NO_SQL_PARSER.progen
new file mode 100644
index 000000000..069754a66
--- /dev/null
+++ b/Data/testsuite/TestSuite_NO_SQL_PARSER.progen
@@ -0,0 +1,10 @@
+vc.project.guid = 1813A463-E349-4FEA-8A8E-4A41E41C0DC7
+vc.project.name = TestSuite
+vc.project.target = TestSuite
+vc.project.prototype = TestSuite_NO_SQL_PARSER_vs90.vcproj
+vc.project.type = testsuite
+vc.project.pocobase = ..\\..
+vc.project.platforms = Win32
+vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
+vc.project.compiler.include = ..\\src;..\\..\\Foundation\\include
+vc.project.linker.dependencies.Win32 = iphlpapi.lib
diff --git a/Data/testsuite/TestSuite_NO_SQL_PARSER.vcproj b/Data/testsuite/TestSuite_NO_SQL_PARSER.vcproj
new file mode 100644
index 000000000..54d28051d
--- /dev/null
+++ b/Data/testsuite/TestSuite_NO_SQL_PARSER.vcproj
@@ -0,0 +1,541 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Data/testsuite/TestSuite_VS90.vcproj b/Data/testsuite/TestSuite_VS90.vcproj
index bf070b939..54d28051d 100644
--- a/Data/testsuite/TestSuite_VS90.vcproj
+++ b/Data/testsuite/TestSuite_VS90.vcproj
@@ -523,6 +523,19 @@
RelativePath=".\src\SessionPoolTest.cpp"/>
+
+
+
+
+
+
+
+
diff --git a/Data/testsuite/TestSuite_vs170.vcxproj b/Data/testsuite/TestSuite_vs170.vcxproj
index 7714a48e8..5c8ef8ecc 100644
--- a/Data/testsuite/TestSuite_vs170.vcxproj
+++ b/Data/testsuite/TestSuite_vs170.vcxproj
@@ -230,7 +230,7 @@
- <_ProjectFileVersion>17.0.32505.173
+ <_ProjectFileVersion>17.0.34202.158
TestSuited
TestSuited
TestSuited
@@ -343,7 +343,7 @@
Disabled
- ..\include;..\..\CppUnit\include;..\..\Foundation\include;%(AdditionalIncludeDirectories)
+ ..\include;..\..\CppUnit\include;..\src;..\..\Foundation\include;%(AdditionalIncludeDirectories)
WIN32;_DEBUG;_WINDOWS;WINVER=0x0600;%(PreprocessorDefinitions)
true
EnableFastChecks
@@ -356,6 +356,8 @@
Level3
ProgramDatabase
Default
+ $(OutDir)$(TargetName).pdb
+ /Zc:__cplusplus /std:c++17 %(AdditionalOptions)
true
@@ -364,7 +366,7 @@
..\..\libA64;%(AdditionalLibraryDirectories)
true
true
- binA64\TestSuited.pdb
+ $(OutDir)$(TargetName).pdb
Console
MachineARM64
@@ -376,7 +378,7 @@
true
Speed
true
- ..\include;..\..\CppUnit\include;..\..\Foundation\include;%(AdditionalIncludeDirectories)
+ ..\include;..\..\CppUnit\include;..\src;..\..\Foundation\include;%(AdditionalIncludeDirectories)
WIN32;NDEBUG;_WINDOWS;WINVER=0x0600;%(PreprocessorDefinitions)
true
MultiThreadedDLL
@@ -388,6 +390,8 @@
Level3
Default
+ $(OutDir)$(TargetName).pdb
+ /Zc:__cplusplus /std:c++17 %(AdditionalOptions)
true
@@ -404,7 +408,7 @@
Disabled
- ..\include;..\..\CppUnit\include;..\..\Foundation\include;%(AdditionalIncludeDirectories)
+ ..\include;..\..\CppUnit\include;..\src;..\..\Foundation\include;%(AdditionalIncludeDirectories)
WIN32;_DEBUG;_WINDOWS;WINVER=0x0600;POCO_STATIC;%(PreprocessorDefinitions)
true
EnableFastChecks
@@ -417,6 +421,8 @@
Level3
ProgramDatabase
Default
+ $(OutDir)$(TargetName).pdb
+ /Zc:__cplusplus /std:c++17 %(AdditionalOptions)
true
@@ -425,7 +431,7 @@
..\..\libA64;%(AdditionalLibraryDirectories)
true
true
- binA64\static_mt\TestSuited.pdb
+ $(OutDir)$(TargetName).pdb
Console
MachineARM64
@@ -437,7 +443,7 @@
true
Speed
true
- ..\include;..\..\CppUnit\include;..\..\Foundation\include;%(AdditionalIncludeDirectories)
+ ..\include;..\..\CppUnit\include;..\src;..\..\Foundation\include;%(AdditionalIncludeDirectories)
WIN32;NDEBUG;_WINDOWS;WINVER=0x0600;POCO_STATIC;%(PreprocessorDefinitions)
true
MultiThreaded
@@ -449,6 +455,8 @@
Level3
Default
+ $(OutDir)$(TargetName).pdb
+ /Zc:__cplusplus /std:c++17 %(AdditionalOptions)
true
@@ -465,7 +473,7 @@
Disabled
- ..\include;..\..\CppUnit\include;..\..\Foundation\include;%(AdditionalIncludeDirectories)
+ ..\include;..\..\CppUnit\include;..\src;..\..\Foundation\include;%(AdditionalIncludeDirectories)
WIN32;_DEBUG;_WINDOWS;WINVER=0x0600;POCO_STATIC;%(PreprocessorDefinitions)
true
EnableFastChecks
@@ -478,6 +486,8 @@
Level3
ProgramDatabase
Default
+ $(OutDir)$(TargetName).pdb
+ /Zc:__cplusplus /std:c++17 %(AdditionalOptions)
true
@@ -486,7 +496,7 @@
..\..\libA64;%(AdditionalLibraryDirectories)
true
true
- binA64\static_md\TestSuited.pdb
+ $(OutDir)$(TargetName).pdb
Console
MachineARM64
@@ -498,7 +508,7 @@
true
Speed
true
- ..\include;..\..\CppUnit\include;..\..\Foundation\include;%(AdditionalIncludeDirectories)
+ ..\include;..\..\CppUnit\include;..\src;..\..\Foundation\include;%(AdditionalIncludeDirectories)
WIN32;NDEBUG;_WINDOWS;WINVER=0x0600;POCO_STATIC;%(PreprocessorDefinitions)
true
MultiThreadedDLL
@@ -510,6 +520,8 @@
Level3
Default
+ $(OutDir)$(TargetName).pdb
+ /Zc:__cplusplus /std:c++17 %(AdditionalOptions)
true
@@ -526,7 +538,7 @@
Disabled
- ..\include;..\..\CppUnit\include;..\..\Foundation\include;%(AdditionalIncludeDirectories)
+ ..\include;..\..\CppUnit\include;..\src;..\..\Foundation\include;%(AdditionalIncludeDirectories)
WIN32;_DEBUG;_WINDOWS;WINVER=0x0600;%(PreprocessorDefinitions)
true
EnableFastChecks
@@ -539,6 +551,8 @@
Level3
ProgramDatabase
Default
+ $(OutDir)$(TargetName).pdb
+ /Zc:__cplusplus /std:c++17 %(AdditionalOptions)
true
@@ -547,7 +561,7 @@
..\..\lib;%(AdditionalLibraryDirectories)
true
true
- bin\TestSuited.pdb
+ $(OutDir)$(TargetName).pdb
Console
MachineX86
@@ -559,7 +573,7 @@
true
Speed
true
- ..\include;..\..\CppUnit\include;..\..\Foundation\include;%(AdditionalIncludeDirectories)
+ ..\include;..\..\CppUnit\include;..\src;..\..\Foundation\include;%(AdditionalIncludeDirectories)
WIN32;NDEBUG;_WINDOWS;WINVER=0x0600;%(PreprocessorDefinitions)
true
MultiThreadedDLL
@@ -571,6 +585,8 @@
Level3
Default
+ $(OutDir)$(TargetName).pdb
+ /Zc:__cplusplus /std:c++17 %(AdditionalOptions)
true
@@ -587,7 +603,7 @@
Disabled
- ..\include;..\..\CppUnit\include;..\..\Foundation\include;%(AdditionalIncludeDirectories)
+ ..\include;..\..\CppUnit\include;..\src;..\..\Foundation\include;%(AdditionalIncludeDirectories)
WIN32;_DEBUG;_WINDOWS;WINVER=0x0600;POCO_STATIC;%(PreprocessorDefinitions)
true
EnableFastChecks
@@ -600,6 +616,8 @@
Level3
ProgramDatabase
Default
+ $(OutDir)$(TargetName).pdb
+ /Zc:__cplusplus /std:c++17 %(AdditionalOptions)
true
@@ -608,7 +626,7 @@
..\..\lib;%(AdditionalLibraryDirectories)
true
true
- bin\static_mt\TestSuited.pdb
+ $(OutDir)$(TargetName).pdb
Console
MachineX86
@@ -620,7 +638,7 @@
true
Speed
true
- ..\include;..\..\CppUnit\include;..\..\Foundation\include;%(AdditionalIncludeDirectories)
+ ..\include;..\..\CppUnit\include;..\src;..\..\Foundation\include;%(AdditionalIncludeDirectories)
WIN32;NDEBUG;_WINDOWS;WINVER=0x0600;POCO_STATIC;%(PreprocessorDefinitions)
true
MultiThreaded
@@ -632,6 +650,8 @@
Level3
Default
+ $(OutDir)$(TargetName).pdb
+ /Zc:__cplusplus /std:c++17 %(AdditionalOptions)
true
@@ -648,7 +668,7 @@
Disabled
- ..\include;..\..\CppUnit\include;..\..\CppUnit\WinTestRunner\include;..\..\Foundation\include;%(AdditionalIncludeDirectories)
+ ..\include;..\..\CppUnit\include;..\..\CppUnit\WinTestRunner\include;..\src;..\..\Foundation\include;%(AdditionalIncludeDirectories)
WIN32;_DEBUG;_WINDOWS;WINVER=0x0600;POCO_STATIC;%(PreprocessorDefinitions)
true
EnableFastChecks
@@ -661,6 +681,8 @@
Level3
ProgramDatabase
Default
+ $(OutDir)$(TargetName).pdb
+ /Zc:__cplusplus /std:c++17 %(AdditionalOptions)
true
@@ -669,7 +691,7 @@
..\..\lib;%(AdditionalLibraryDirectories)
true
true
- bin\static_md\TestSuited.pdb
+ $(OutDir)$(TargetName).pdb
Console
MachineX86
@@ -681,7 +703,7 @@
true
Speed
true
- ..\include;..\..\CppUnit\include;..\..\Foundation\include;%(AdditionalIncludeDirectories)
+ ..\include;..\..\CppUnit\include;..\src;..\..\Foundation\include;%(AdditionalIncludeDirectories)
WIN32;NDEBUG;_WINDOWS;WINVER=0x0600;POCO_STATIC;%(PreprocessorDefinitions)
true
MultiThreadedDLL
@@ -693,6 +715,8 @@
Level3
Default
+ $(OutDir)$(TargetName).pdb
+ /Zc:__cplusplus /std:c++17 %(AdditionalOptions)
true
@@ -709,7 +733,7 @@
Disabled
- ..\include;..\..\CppUnit\include;..\..\Foundation\include;%(AdditionalIncludeDirectories)
+ ..\include;..\..\CppUnit\include;..\src;..\..\Foundation\include;%(AdditionalIncludeDirectories)
WIN32;_DEBUG;_WINDOWS;WINVER=0x0600;%(PreprocessorDefinitions)
true
EnableFastChecks
@@ -722,6 +746,8 @@
Level3
ProgramDatabase
Default
+ $(OutDir)$(TargetName).pdb
+ /Zc:__cplusplus /std:c++17 %(AdditionalOptions)
true
@@ -730,7 +756,7 @@
..\..\lib64;%(AdditionalLibraryDirectories)
true
true
- bin64\TestSuited.pdb
+ $(OutDir)$(TargetName).pdb
Console
MachineX64
@@ -742,7 +768,7 @@
true
Speed
true
- ..\include;..\..\CppUnit\include;..\..\Foundation\include;%(AdditionalIncludeDirectories)
+ ..\include;..\..\CppUnit\include;..\src;..\..\Foundation\include;%(AdditionalIncludeDirectories)
WIN32;NDEBUG;_WINDOWS;WINVER=0x0600;%(PreprocessorDefinitions)
true
MultiThreadedDLL
@@ -754,6 +780,8 @@
Level3
Default
+ $(OutDir)$(TargetName).pdb
+ /Zc:__cplusplus /std:c++17 %(AdditionalOptions)
true
@@ -770,7 +798,7 @@
Disabled
- ..\include;..\..\CppUnit\include;..\..\Foundation\include;%(AdditionalIncludeDirectories)
+ ..\include;..\..\CppUnit\include;..\src;..\..\Foundation\include;%(AdditionalIncludeDirectories)
WIN32;_DEBUG;_WINDOWS;WINVER=0x0600;POCO_STATIC;%(PreprocessorDefinitions)
true
EnableFastChecks
@@ -783,6 +811,8 @@
Level3
ProgramDatabase
Default
+ $(OutDir)$(TargetName).pdb
+ /Zc:__cplusplus /std:c++17 %(AdditionalOptions)
true
@@ -791,7 +821,7 @@
..\..\lib64;%(AdditionalLibraryDirectories)
true
true
- bin64\static_mt\TestSuited.pdb
+ $(OutDir)$(TargetName).pdb
Console
MachineX64
@@ -803,7 +833,7 @@
true
Speed
true
- ..\include;..\..\CppUnit\include;..\..\Foundation\include;%(AdditionalIncludeDirectories)
+ ..\include;..\..\CppUnit\include;..\src;..\..\Foundation\include;%(AdditionalIncludeDirectories)
WIN32;NDEBUG;_WINDOWS;WINVER=0x0600;POCO_STATIC;%(PreprocessorDefinitions)
true
MultiThreaded
@@ -815,6 +845,8 @@
Level3
Default
+ $(OutDir)$(TargetName).pdb
+ /Zc:__cplusplus /std:c++17 %(AdditionalOptions)
true
@@ -831,7 +863,7 @@
Disabled
- ..\include;..\..\CppUnit\include;..\..\Foundation\include;%(AdditionalIncludeDirectories)
+ ..\include;..\..\CppUnit\include;..\src;..\..\Foundation\include;%(AdditionalIncludeDirectories)
WIN32;_DEBUG;_WINDOWS;WINVER=0x0600;POCO_STATIC;%(PreprocessorDefinitions)
true
EnableFastChecks
@@ -844,6 +876,8 @@
Level3
ProgramDatabase
Default
+ $(OutDir)$(TargetName).pdb
+ /Zc:__cplusplus /std:c++17 %(AdditionalOptions)
true
@@ -852,7 +886,7 @@
..\..\lib64;%(AdditionalLibraryDirectories)
true
true
- bin64\static_md\TestSuited.pdb
+ $(OutDir)$(TargetName).pdb
Console
MachineX64
@@ -864,7 +898,7 @@
true
Speed
true
- ..\include;..\..\CppUnit\include;..\..\Foundation\include;%(AdditionalIncludeDirectories)
+ ..\include;..\..\CppUnit\include;..\src;..\..\Foundation\include;%(AdditionalIncludeDirectories)
WIN32;NDEBUG;_WINDOWS;WINVER=0x0600;POCO_STATIC;%(PreprocessorDefinitions)
true
MultiThreadedDLL
@@ -876,6 +910,8 @@
Level3
Default
+ $(OutDir)$(TargetName).pdb
+ /Zc:__cplusplus /std:c++17 %(AdditionalOptions)
true
@@ -898,6 +934,7 @@
+
@@ -928,6 +965,9 @@
true
+
+ true
+
true
diff --git a/Data/testsuite/TestSuite_vs170.vcxproj.filters b/Data/testsuite/TestSuite_vs170.vcxproj.filters
index 3f243db79..b37165ae7 100644
--- a/Data/testsuite/TestSuite_vs170.vcxproj.filters
+++ b/Data/testsuite/TestSuite_vs170.vcxproj.filters
@@ -2,46 +2,55 @@
- {6805f657-87dc-44e7-9b5a-943d131f7e01}
+ {93cac614-b3c1-438b-a5ac-0a1cba850cee}
- {1564b6b4-0635-4e6d-a889-7d62a1fade23}
+ {57be5187-e2d3-4978-92f7-b99d633ac676}
- {b957ab6f-eb9d-4947-949c-65fc9ad4bc08}
+ {94a457fb-07cf-4409-a6c3-fc25991942c5}
- {9792c24f-5d89-4974-b1f8-7d3c9212a561}
+ {0a15584c-f4f5-4eba-8928-04828aed084a}
- {f501e382-1925-40cb-ad66-5364acc86382}
+ {baa428fd-2851-4232-932f-0bcba22726b5}
- {403897bb-b8bb-4815-9648-a0aa5e2497e5}
+ {32ac6e17-51c6-466c-a66e-9c7aa8835bba}
- {5e877bb1-ca6b-4c67-a71e-eb690d26dbcd}
+ {a13744c0-ae5d-4f46-a3d9-37612a8ab104}
- {e842d4aa-7c8c-47e2-9d46-4d82e4954076}
+ {24237165-5f13-4f4b-8190-c400f36f3e29}
- {9576e0a5-5582-41aa-88d3-613860840471}
+ {d43bd6db-bc17-457d-a860-961aa6ab5185}
- {d7c725ec-4477-4e5c-8513-22b196c4031f}
+ {141fe152-46ab-4318-be77-0b3020b5164f}
- {1d2402ba-c36a-455d-a060-0e103ca637c7}
+ {300408b2-5dcb-4227-b3d1-b85b02f6e82d}
- {a37d5b0f-35f0-45c1-a1ea-477af3536ee5}
+ {990865e3-1a79-4423-87b9-3f137135ba24}
- {f587e62c-7bbb-4fb5-b78e-a2318838268b}
+ {54250ddc-469c-4054-b8ac-eca071c58877}
- {bfdf8369-a0a0-4786-8e3b-c859f528fdc9}
+ {367d6638-017f-4ac1-ad6d-9865d5a2f585}
+
+
+ {a205190a-b349-4421-a585-93939a5791c1}
+
+
+ {e005576b-7c3c-4b05-a7d8-6043b8425c81}
+
+
+ {f2decc2a-9f48-4be5-838a-bc7a4333e2d7}
@@ -72,6 +81,9 @@
SessionPooling\Header Files
+
+ SQLParser\Header Files
+
@@ -104,5 +116,8 @@
SessionPooling\Source Files
+
+ SQLParser\Source Files
+
\ No newline at end of file
diff --git a/Data/testsuite/src/DataTest.cpp b/Data/testsuite/src/DataTest.cpp
index 6fb0ce49c..8249379c0 100644
--- a/Data/testsuite/src/DataTest.cpp
+++ b/Data/testsuite/src/DataTest.cpp
@@ -1439,8 +1439,6 @@ void DataTest::testTranscode()
void DataTest::testSQLParse()
{
-#ifndef POCO_DATA_NO_SQL_PARSER
-
Session sess(SessionFactory::instance().create("test", "cs"));
assertTrue (sess.getFeature("autoCommit"));
@@ -1451,6 +1449,9 @@ void DataTest::testSQLParse()
"'",'a',"'",-1, 1u, 1.5, "42", now);
assertTrue ("SELECT 'a',-1,1,1.500000,42 FROM Person WHERE Name LIKE 'Simp%'" == stmt.toString());
+
+#ifndef POCO_DATA_NO_SQL_PARSER
+
assertEqual (1u, stmt.statementsCount().value());
assertTrue (stmt.isSelect().value());
assertTrue (stmt.hasSelect().value());
@@ -1484,6 +1485,12 @@ void DataTest::testSQLParse()
sess.setFeature("sqlParse", false);
assertTrue (!sess.getFeature("sqlParse"));
+#else
+
+ std::cout << "partial test (parser not available)";
+
+#endif // POCO_DATA_NO_SQL_PARSER
+
stmt.reset();
stmt = (sess << "INSERT INTO Test VALUES ('1', 2, 3.5);"
"SELECT * FROM Test WHERE First = ?;"
@@ -1503,10 +1510,6 @@ void DataTest::testSQLParse()
assertTrue (!stmt.hasInsert().isSpecified());
assertTrue (!stmt.isDelete().isSpecified());
assertTrue (!stmt.hasDelete().isSpecified());
-
-#else
- std::cout << "[NOT ENABLED]";
-#endif // POCO_DATA_NO_SQL_PARSER
}
diff --git a/Foundation/include/Poco/Config.h b/Foundation/include/Poco/Config.h
index f64628659..61311b1cc 100644
--- a/Foundation/include/Poco/Config.h
+++ b/Foundation/include/Poco/Config.h
@@ -220,13 +220,13 @@
#define POCO_HAVE_CPP17_COMPILER (__cplusplus >= 201703L)
-// Uncomment to disable usage of SQLParser
+// Uncomment to explicitly disable SQLParser
// #define POCO_DATA_NO_SQL_PARSER
-// Enable usage of SQL parser in Poco::Data
+// Automatically disable SQL parser for < c++17 compile
#if !defined(POCO_DATA_NO_SQL_PARSER)
- #ifdef POCO_HAVE_CPP17_COMPILER
- #define POCO_DATA_ENABLE_SQL_PARSER
+ #ifndef POCO_HAVE_CPP17_COMPILER
+ #define POCO_DATA_NO_SQL_PARSER
#endif
#endif
diff --git a/Foundation/samples/BinaryReaderWriter/BinaryReaderWriter.progen b/Foundation/samples/BinaryReaderWriter/BinaryReaderWriter.progen
index 518a9d34a..dbae00da9 100644
--- a/Foundation/samples/BinaryReaderWriter/BinaryReaderWriter.progen
+++ b/Foundation/samples/BinaryReaderWriter/BinaryReaderWriter.progen
@@ -7,5 +7,5 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
diff --git a/Foundation/samples/DateTime/DateTime.progen b/Foundation/samples/DateTime/DateTime.progen
index 518a9d34a..dbae00da9 100644
--- a/Foundation/samples/DateTime/DateTime.progen
+++ b/Foundation/samples/DateTime/DateTime.progen
@@ -7,5 +7,5 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
diff --git a/Foundation/samples/LineEndingConverter/LineEndingConverter.progen b/Foundation/samples/LineEndingConverter/LineEndingConverter.progen
index 518a9d34a..dbae00da9 100644
--- a/Foundation/samples/LineEndingConverter/LineEndingConverter.progen
+++ b/Foundation/samples/LineEndingConverter/LineEndingConverter.progen
@@ -7,5 +7,5 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
diff --git a/Foundation/samples/LogRotation/LogRotation.progen b/Foundation/samples/LogRotation/LogRotation.progen
index 518a9d34a..dbae00da9 100644
--- a/Foundation/samples/LogRotation/LogRotation.progen
+++ b/Foundation/samples/LogRotation/LogRotation.progen
@@ -7,5 +7,5 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
diff --git a/Foundation/samples/Logger/Logger.progen b/Foundation/samples/Logger/Logger.progen
index 518a9d34a..dbae00da9 100644
--- a/Foundation/samples/Logger/Logger.progen
+++ b/Foundation/samples/Logger/Logger.progen
@@ -7,5 +7,5 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
diff --git a/Foundation/samples/NotificationQueue/NotificationQueue.progen b/Foundation/samples/NotificationQueue/NotificationQueue.progen
index 518a9d34a..dbae00da9 100644
--- a/Foundation/samples/NotificationQueue/NotificationQueue.progen
+++ b/Foundation/samples/NotificationQueue/NotificationQueue.progen
@@ -7,5 +7,5 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
diff --git a/Foundation/samples/StringTokenizer/StringTokenizer.progen b/Foundation/samples/StringTokenizer/StringTokenizer.progen
index 518a9d34a..dbae00da9 100644
--- a/Foundation/samples/StringTokenizer/StringTokenizer.progen
+++ b/Foundation/samples/StringTokenizer/StringTokenizer.progen
@@ -7,5 +7,5 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
diff --git a/Foundation/samples/Timer/Timer.progen b/Foundation/samples/Timer/Timer.progen
index 518a9d34a..dbae00da9 100644
--- a/Foundation/samples/Timer/Timer.progen
+++ b/Foundation/samples/Timer/Timer.progen
@@ -7,5 +7,5 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
diff --git a/Foundation/samples/URI/URI.progen b/Foundation/samples/URI/URI.progen
index 518a9d34a..dbae00da9 100644
--- a/Foundation/samples/URI/URI.progen
+++ b/Foundation/samples/URI/URI.progen
@@ -7,5 +7,5 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
diff --git a/Foundation/samples/base64decode/base64decode.progen b/Foundation/samples/base64decode/base64decode.progen
index 518a9d34a..dbae00da9 100644
--- a/Foundation/samples/base64decode/base64decode.progen
+++ b/Foundation/samples/base64decode/base64decode.progen
@@ -7,5 +7,5 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
diff --git a/Foundation/samples/base64encode/base64encode.progen b/Foundation/samples/base64encode/base64encode.progen
index 518a9d34a..dbae00da9 100644
--- a/Foundation/samples/base64encode/base64encode.progen
+++ b/Foundation/samples/base64encode/base64encode.progen
@@ -7,5 +7,5 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
diff --git a/Foundation/samples/deflate/deflate.progen b/Foundation/samples/deflate/deflate.progen
index 518a9d34a..dbae00da9 100644
--- a/Foundation/samples/deflate/deflate.progen
+++ b/Foundation/samples/deflate/deflate.progen
@@ -7,5 +7,5 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
diff --git a/Foundation/samples/dir/dir.progen b/Foundation/samples/dir/dir.progen
index 518a9d34a..dbae00da9 100644
--- a/Foundation/samples/dir/dir.progen
+++ b/Foundation/samples/dir/dir.progen
@@ -7,5 +7,5 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
diff --git a/Foundation/samples/grep/grep.progen b/Foundation/samples/grep/grep.progen
index 518a9d34a..dbae00da9 100644
--- a/Foundation/samples/grep/grep.progen
+++ b/Foundation/samples/grep/grep.progen
@@ -7,5 +7,5 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
diff --git a/Foundation/samples/hmacmd5/hmacmd5.progen b/Foundation/samples/hmacmd5/hmacmd5.progen
index 518a9d34a..dbae00da9 100644
--- a/Foundation/samples/hmacmd5/hmacmd5.progen
+++ b/Foundation/samples/hmacmd5/hmacmd5.progen
@@ -7,5 +7,5 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
diff --git a/Foundation/samples/inflate/inflate.progen b/Foundation/samples/inflate/inflate.progen
index 518a9d34a..dbae00da9 100644
--- a/Foundation/samples/inflate/inflate.progen
+++ b/Foundation/samples/inflate/inflate.progen
@@ -7,5 +7,5 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
diff --git a/Foundation/samples/md5/md5.progen b/Foundation/samples/md5/md5.progen
index 518a9d34a..dbae00da9 100644
--- a/Foundation/samples/md5/md5.progen
+++ b/Foundation/samples/md5/md5.progen
@@ -7,5 +7,5 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
diff --git a/Foundation/samples/uuidgen/uuidgen.progen b/Foundation/samples/uuidgen/uuidgen.progen
index 518a9d34a..dbae00da9 100644
--- a/Foundation/samples/uuidgen/uuidgen.progen
+++ b/Foundation/samples/uuidgen/uuidgen.progen
@@ -7,5 +7,5 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
diff --git a/JSON/JSON.progen b/JSON/JSON.progen
index cb3ce16f5..1502f6624 100644
--- a/JSON/JSON.progen
+++ b/JSON/JSON.progen
@@ -12,6 +12,6 @@ vc.project.compiler.defines =
vc.project.compiler.defines.shared = ${vc.project.name}_EXPORTS
vc.project.compiler.defines.debug_shared = ${vc.project.compiler.defines.shared}
vc.project.compiler.defines.release_shared = ${vc.project.compiler.defines.shared}
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.solution.create = true
vc.solution.include = testsuite\\TestSuite
diff --git a/JSON/samples/Benchmark/Benchmark.progen b/JSON/samples/Benchmark/Benchmark.progen
index d0d81fca9..40e486bd7 100644
--- a/JSON/samples/Benchmark/Benchmark.progen
+++ b/JSON/samples/Benchmark/Benchmark.progen
@@ -7,5 +7,5 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include;..\\..\\..\\JSON\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
diff --git a/JSON/testsuite/TestSuite.progen b/JSON/testsuite/TestSuite.progen
index a9a55670a..d5a1c2f16 100644
--- a/JSON/testsuite/TestSuite.progen
+++ b/JSON/testsuite/TestSuite.progen
@@ -7,5 +7,5 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = TestSuite_vs90.vcproj
vc.project.compiler.include = ..\\..\\Foundation\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = iphlpapi.lib
diff --git a/JWT/JWT.progen b/JWT/JWT.progen
index 70f081e9e..c8b7f83f2 100644
--- a/JWT/JWT.progen
+++ b/JWT/JWT.progen
@@ -11,6 +11,6 @@ vc.project.compiler.include = ..\\Foundation\\include;..\\JSON\\include;..\\Cryp
vc.project.compiler.defines.shared = ${vc.project.name}_EXPORTS
vc.project.compiler.defines.debug_shared = ${vc.project.compiler.defines.shared}
vc.project.compiler.defines.release_shared = ${vc.project.compiler.defines.shared}
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.solution.create = true
vc.solution.include = testsuite\\TestSuite
diff --git a/JWT/testsuite/TestSuite.progen b/JWT/testsuite/TestSuite.progen
index 72c40da85..9f509e17a 100644
--- a/JWT/testsuite/TestSuite.progen
+++ b/JWT/testsuite/TestSuite.progen
@@ -7,7 +7,7 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = TestSuite_vs90.vcproj
vc.project.compiler.include = ..\\..\\Foundation\\include;..\\..\\JSON\\include;..\\..\\Crypto\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
vc.project.linker.dependencies.debug_shared =
vc.project.linker.dependencies.release_shared =
diff --git a/MongoDB/MongoDB.progen b/MongoDB/MongoDB.progen
index 67595ba84..3eca02b91 100644
--- a/MongoDB/MongoDB.progen
+++ b/MongoDB/MongoDB.progen
@@ -12,6 +12,6 @@ vc.project.compiler.defines =
vc.project.compiler.defines.shared = ${vc.project.name}_EXPORTS
vc.project.compiler.defines.debug_shared = ${vc.project.compiler.defines.shared}
vc.project.compiler.defines.release_shared = ${vc.project.compiler.defines.shared}
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.solution.create = true
vc.solution.include = testsuite\\TestSuite
diff --git a/MongoDB/samples/SQLToMongo/SQLToMongo.progen b/MongoDB/samples/SQLToMongo/SQLToMongo.progen
index 602fdc35e..1543dabdb 100644
--- a/MongoDB/samples/SQLToMongo/SQLToMongo.progen
+++ b/MongoDB/samples/SQLToMongo/SQLToMongo.progen
@@ -7,5 +7,5 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include;..\\..\\..\\Net\\include;..\\..\\..\\MongoDB\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
diff --git a/MongoDB/testsuite/TestSuite.progen b/MongoDB/testsuite/TestSuite.progen
index fb74be89f..c1bc49fed 100644
--- a/MongoDB/testsuite/TestSuite.progen
+++ b/MongoDB/testsuite/TestSuite.progen
@@ -7,5 +7,5 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = TestSuite_vs90.vcproj
vc.project.compiler.include = ..\\..\\Foundation\\include;..\\..\\Net\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
diff --git a/Net/Net.progen b/Net/Net.progen
index 50812acf6..1c5bbcbb9 100644
--- a/Net/Net.progen
+++ b/Net/Net.progen
@@ -12,7 +12,7 @@ vc.project.compiler.defines =
vc.project.compiler.defines.shared = ${vc.project.name}_EXPORTS
vc.project.compiler.defines.debug_shared = ${vc.project.compiler.defines.shared}
vc.project.compiler.defines.release_shared = ${vc.project.compiler.defines.shared}
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
vc.solution.create = true
vc.solution.include = testsuite\\TestSuite
diff --git a/Net/samples/EchoServer/EchoServer.progen b/Net/samples/EchoServer/EchoServer.progen
index c610dc055..ede2c7832 100644
--- a/Net/samples/EchoServer/EchoServer.progen
+++ b/Net/samples/EchoServer/EchoServer.progen
@@ -7,5 +7,5 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include;..\\..\\..\\XML\\include;..\\..\\..\\Util\\include;..\\..\\..\\Net\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
diff --git a/Net/samples/HTTPFormServer/HTTPFormServer.progen b/Net/samples/HTTPFormServer/HTTPFormServer.progen
index c610dc055..ede2c7832 100644
--- a/Net/samples/HTTPFormServer/HTTPFormServer.progen
+++ b/Net/samples/HTTPFormServer/HTTPFormServer.progen
@@ -7,5 +7,5 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include;..\\..\\..\\XML\\include;..\\..\\..\\Util\\include;..\\..\\..\\Net\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
diff --git a/Net/samples/HTTPLoadTest/HTTPLoadTest.progen b/Net/samples/HTTPLoadTest/HTTPLoadTest.progen
index c610dc055..ede2c7832 100644
--- a/Net/samples/HTTPLoadTest/HTTPLoadTest.progen
+++ b/Net/samples/HTTPLoadTest/HTTPLoadTest.progen
@@ -7,5 +7,5 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include;..\\..\\..\\XML\\include;..\\..\\..\\Util\\include;..\\..\\..\\Net\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
diff --git a/Net/samples/HTTPTimeServer/HTTPTimeServer.progen b/Net/samples/HTTPTimeServer/HTTPTimeServer.progen
index c610dc055..ede2c7832 100644
--- a/Net/samples/HTTPTimeServer/HTTPTimeServer.progen
+++ b/Net/samples/HTTPTimeServer/HTTPTimeServer.progen
@@ -7,5 +7,5 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include;..\\..\\..\\XML\\include;..\\..\\..\\Util\\include;..\\..\\..\\Net\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
diff --git a/Net/samples/Mail/Mail.progen b/Net/samples/Mail/Mail.progen
index c610dc055..ede2c7832 100644
--- a/Net/samples/Mail/Mail.progen
+++ b/Net/samples/Mail/Mail.progen
@@ -7,5 +7,5 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include;..\\..\\..\\XML\\include;..\\..\\..\\Util\\include;..\\..\\..\\Net\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
diff --git a/Net/samples/Ping/Ping.progen b/Net/samples/Ping/Ping.progen
index c610dc055..ede2c7832 100644
--- a/Net/samples/Ping/Ping.progen
+++ b/Net/samples/Ping/Ping.progen
@@ -7,5 +7,5 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include;..\\..\\..\\XML\\include;..\\..\\..\\Util\\include;..\\..\\..\\Net\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
diff --git a/Net/samples/SMTPLogger/SMTPLogger.progen b/Net/samples/SMTPLogger/SMTPLogger.progen
index c610dc055..ede2c7832 100644
--- a/Net/samples/SMTPLogger/SMTPLogger.progen
+++ b/Net/samples/SMTPLogger/SMTPLogger.progen
@@ -7,5 +7,5 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include;..\\..\\..\\XML\\include;..\\..\\..\\Util\\include;..\\..\\..\\Net\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
diff --git a/Net/samples/TimeServer/TimeServer.progen b/Net/samples/TimeServer/TimeServer.progen
index c610dc055..ede2c7832 100644
--- a/Net/samples/TimeServer/TimeServer.progen
+++ b/Net/samples/TimeServer/TimeServer.progen
@@ -7,5 +7,5 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include;..\\..\\..\\XML\\include;..\\..\\..\\Util\\include;..\\..\\..\\Net\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
diff --git a/Net/samples/WebSocketServer/WebSocketServer.progen b/Net/samples/WebSocketServer/WebSocketServer.progen
index c610dc055..ede2c7832 100644
--- a/Net/samples/WebSocketServer/WebSocketServer.progen
+++ b/Net/samples/WebSocketServer/WebSocketServer.progen
@@ -7,5 +7,5 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include;..\\..\\..\\XML\\include;..\\..\\..\\Util\\include;..\\..\\..\\Net\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
diff --git a/Net/samples/dict/dict.progen b/Net/samples/dict/dict.progen
index c610dc055..ede2c7832 100644
--- a/Net/samples/dict/dict.progen
+++ b/Net/samples/dict/dict.progen
@@ -7,5 +7,5 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include;..\\..\\..\\XML\\include;..\\..\\..\\Util\\include;..\\..\\..\\Net\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
diff --git a/Net/samples/download/download.progen b/Net/samples/download/download.progen
index c610dc055..ede2c7832 100644
--- a/Net/samples/download/download.progen
+++ b/Net/samples/download/download.progen
@@ -7,5 +7,5 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include;..\\..\\..\\XML\\include;..\\..\\..\\Util\\include;..\\..\\..\\Net\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
diff --git a/Net/samples/httpget/httpget.progen b/Net/samples/httpget/httpget.progen
index c610dc055..ede2c7832 100644
--- a/Net/samples/httpget/httpget.progen
+++ b/Net/samples/httpget/httpget.progen
@@ -7,5 +7,5 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include;..\\..\\..\\XML\\include;..\\..\\..\\Util\\include;..\\..\\..\\Net\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
diff --git a/Net/samples/ifconfig/ifconfig.progen b/Net/samples/ifconfig/ifconfig.progen
index c610dc055..ede2c7832 100644
--- a/Net/samples/ifconfig/ifconfig.progen
+++ b/Net/samples/ifconfig/ifconfig.progen
@@ -7,5 +7,5 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include;..\\..\\..\\XML\\include;..\\..\\..\\Util\\include;..\\..\\..\\Net\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
diff --git a/Net/samples/tcpserver/tcpserver.progen b/Net/samples/tcpserver/tcpserver.progen
index 9ffca51c2..70c16504a 100644
--- a/Net/samples/tcpserver/tcpserver.progen
+++ b/Net/samples/tcpserver/tcpserver.progen
@@ -7,5 +7,5 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include;..\\..\\..\\Net\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
diff --git a/Net/testsuite/TestSuite.progen b/Net/testsuite/TestSuite.progen
index f65485977..205fabcee 100644
--- a/Net/testsuite/TestSuite.progen
+++ b/Net/testsuite/TestSuite.progen
@@ -7,6 +7,6 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = TestSuite_vs90.vcproj
vc.project.compiler.include = ..\\..\\Foundation\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies = iphlpapi.lib
vc.project.linker.dependencies.Win32 = ws2_32.lib
diff --git a/NetSSL_OpenSSL/NetSSL_OpenSSL.progen b/NetSSL_OpenSSL/NetSSL_OpenSSL.progen
index 507316953..6e03a7bc7 100644
--- a/NetSSL_OpenSSL/NetSSL_OpenSSL.progen
+++ b/NetSSL_OpenSSL/NetSSL_OpenSSL.progen
@@ -12,7 +12,7 @@ vc.project.compiler.defines =
vc.project.compiler.defines.shared = NetSSL_EXPORTS
vc.project.compiler.defines.debug_shared = ${vc.project.compiler.defines.shared}
vc.project.compiler.defines.release_shared = ${vc.project.compiler.defines.shared}
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
vc.project.linker.dependencies.debug_shared =
vc.project.linker.dependencies.release_shared =
diff --git a/NetSSL_OpenSSL/samples/HTTPSTimeServer/HTTPSTimeServer.progen b/NetSSL_OpenSSL/samples/HTTPSTimeServer/HTTPSTimeServer.progen
index 6c28cacf4..b7b3a1b28 100644
--- a/NetSSL_OpenSSL/samples/HTTPSTimeServer/HTTPSTimeServer.progen
+++ b/NetSSL_OpenSSL/samples/HTTPSTimeServer/HTTPSTimeServer.progen
@@ -7,7 +7,7 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include;..\\..\\..\\XML\\include;..\\..\\..\\Util\\include;..\\..\\..\\Net\\include;..\\..\\..\\NetSSL_OpenSSL\\include;..\\..\\..\\Crypto\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
vc.project.linker.dependencies.debug_shared =
vc.project.linker.dependencies.release_shared =
diff --git a/NetSSL_OpenSSL/samples/Mail/Mail.progen b/NetSSL_OpenSSL/samples/Mail/Mail.progen
index 6c28cacf4..b7b3a1b28 100644
--- a/NetSSL_OpenSSL/samples/Mail/Mail.progen
+++ b/NetSSL_OpenSSL/samples/Mail/Mail.progen
@@ -7,7 +7,7 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include;..\\..\\..\\XML\\include;..\\..\\..\\Util\\include;..\\..\\..\\Net\\include;..\\..\\..\\NetSSL_OpenSSL\\include;..\\..\\..\\Crypto\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
vc.project.linker.dependencies.debug_shared =
vc.project.linker.dependencies.release_shared =
diff --git a/NetSSL_OpenSSL/samples/SetSourceIP/SetSourceIP.progen b/NetSSL_OpenSSL/samples/SetSourceIP/SetSourceIP.progen
index 6c28cacf4..b7b3a1b28 100644
--- a/NetSSL_OpenSSL/samples/SetSourceIP/SetSourceIP.progen
+++ b/NetSSL_OpenSSL/samples/SetSourceIP/SetSourceIP.progen
@@ -7,7 +7,7 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include;..\\..\\..\\XML\\include;..\\..\\..\\Util\\include;..\\..\\..\\Net\\include;..\\..\\..\\NetSSL_OpenSSL\\include;..\\..\\..\\Crypto\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
vc.project.linker.dependencies.debug_shared =
vc.project.linker.dependencies.release_shared =
diff --git a/NetSSL_OpenSSL/samples/TwitterClient/TwitterClient.progen b/NetSSL_OpenSSL/samples/TwitterClient/TwitterClient.progen
index aab070e1a..8a5572545 100644
--- a/NetSSL_OpenSSL/samples/TwitterClient/TwitterClient.progen
+++ b/NetSSL_OpenSSL/samples/TwitterClient/TwitterClient.progen
@@ -7,7 +7,7 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include;..\\..\\..\\XML\\include;..\\..\\..\\JSON\\include;..\\..\\..\\Util\\include;..\\..\\..\\Net\\include;..\\..\\..\\NetSSL_OpenSSL\\include;..\\..\\..\\Crypto\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
vc.project.linker.dependencies.debug_shared =
vc.project.linker.dependencies.release_shared =
diff --git a/NetSSL_OpenSSL/samples/download/download.progen b/NetSSL_OpenSSL/samples/download/download.progen
index 6c28cacf4..b7b3a1b28 100644
--- a/NetSSL_OpenSSL/samples/download/download.progen
+++ b/NetSSL_OpenSSL/samples/download/download.progen
@@ -7,7 +7,7 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include;..\\..\\..\\XML\\include;..\\..\\..\\Util\\include;..\\..\\..\\Net\\include;..\\..\\..\\NetSSL_OpenSSL\\include;..\\..\\..\\Crypto\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
vc.project.linker.dependencies.debug_shared =
vc.project.linker.dependencies.release_shared =
diff --git a/NetSSL_OpenSSL/testsuite/TestSuite.progen b/NetSSL_OpenSSL/testsuite/TestSuite.progen
index 61b90bc37..adcae7daa 100644
--- a/NetSSL_OpenSSL/testsuite/TestSuite.progen
+++ b/NetSSL_OpenSSL/testsuite/TestSuite.progen
@@ -7,7 +7,7 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = TestSuite_vs90.vcproj
vc.project.compiler.include = ..\\..\\Foundation\\include;..\\..\\XML\\include;..\\..\\Util\\include;..\\..\\Net\\include;..\\..\\Crypto\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
vc.project.linker.dependencies.debug_shared =
vc.project.linker.dependencies.release_shared =
diff --git a/NetSSL_Win/NetSSL_Win.progen b/NetSSL_Win/NetSSL_Win.progen
index 4e149bcb0..10824e6a8 100644
--- a/NetSSL_Win/NetSSL_Win.progen
+++ b/NetSSL_Win/NetSSL_Win.progen
@@ -12,7 +12,7 @@ vc.project.compiler.defines =
vc.project.compiler.defines.shared = ${vc.project.name}_EXPORTS
vc.project.compiler.defines.debug_shared = ${vc.project.compiler.defines.shared}
vc.project.compiler.defines.release_shared = ${vc.project.compiler.defines.shared}
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib Crypt32.lib
vc.project.linker.dependencies.debug_shared =
vc.project.linker.dependencies.release_shared =
diff --git a/NetSSL_Win/samples/HTTPSTimeServer/HTTPSTimeServer.progen b/NetSSL_Win/samples/HTTPSTimeServer/HTTPSTimeServer.progen
index 9225aa0c3..c63b31f35 100644
--- a/NetSSL_Win/samples/HTTPSTimeServer/HTTPSTimeServer.progen
+++ b/NetSSL_Win/samples/HTTPSTimeServer/HTTPSTimeServer.progen
@@ -7,7 +7,7 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include;..\\..\\..\\XML\\include;..\\..\\..\\Util\\include;..\\..\\..\\Net\\include;..\\..\\..\\NetSSL_Win\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
vc.project.linker.dependencies.debug_shared =
vc.project.linker.dependencies.release_shared =
diff --git a/NetSSL_Win/samples/Mail/Mail.progen b/NetSSL_Win/samples/Mail/Mail.progen
index 9225aa0c3..c63b31f35 100644
--- a/NetSSL_Win/samples/Mail/Mail.progen
+++ b/NetSSL_Win/samples/Mail/Mail.progen
@@ -7,7 +7,7 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include;..\\..\\..\\XML\\include;..\\..\\..\\Util\\include;..\\..\\..\\Net\\include;..\\..\\..\\NetSSL_Win\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
vc.project.linker.dependencies.debug_shared =
vc.project.linker.dependencies.release_shared =
diff --git a/NetSSL_Win/samples/download/download.progen b/NetSSL_Win/samples/download/download.progen
index 9225aa0c3..c63b31f35 100644
--- a/NetSSL_Win/samples/download/download.progen
+++ b/NetSSL_Win/samples/download/download.progen
@@ -7,7 +7,7 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include;..\\..\\..\\XML\\include;..\\..\\..\\Util\\include;..\\..\\..\\Net\\include;..\\..\\..\\NetSSL_Win\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
vc.project.linker.dependencies.debug_shared =
vc.project.linker.dependencies.release_shared =
diff --git a/NetSSL_Win/testsuite/TestSuite.progen b/NetSSL_Win/testsuite/TestSuite.progen
index f22128754..6be09147b 100644
--- a/NetSSL_Win/testsuite/TestSuite.progen
+++ b/NetSSL_Win/testsuite/TestSuite.progen
@@ -7,7 +7,7 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = TestSuite_vs90.vcproj
vc.project.compiler.include = ..\\..\\Foundation\\include;..\\..\\XML\\include;..\\..\\Util\\include;..\\..\\Net\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
vc.project.linker.dependencies.debug_shared =
vc.project.linker.dependencies.release_shared =
diff --git a/PDF/PDF.progen b/PDF/PDF.progen
index 12898d52a..f187804ea 100644
--- a/PDF/PDF.progen
+++ b/PDF/PDF.progen
@@ -12,6 +12,6 @@ vc.project.compiler.defines =
vc.project.compiler.defines.shared = _CRT_SECURE_NO_WARNINGS;${vc.project.name}_EXPORTS
vc.project.compiler.defines.debug_shared = ${vc.project.compiler.defines.shared}
vc.project.compiler.defines.release_shared = ${vc.project.compiler.defines.shared}
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.solution.create = true
vc.solution.include = testsuite\\TestSuite
diff --git a/PDF/samples/Image/Image.progen b/PDF/samples/Image/Image.progen
index ae20fcfeb..aa38e179b 100644
--- a/PDF/samples/Image/Image.progen
+++ b/PDF/samples/Image/Image.progen
@@ -7,5 +7,5 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include;..\\..\\..\\PDF\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies =
diff --git a/PDF/samples/Template/Template.progen b/PDF/samples/Template/Template.progen
index 8ec52a56c..028bc844f 100644
--- a/PDF/samples/Template/Template.progen
+++ b/PDF/samples/Template/Template.progen
@@ -7,5 +7,5 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include;..\\..\\..\\PDF\\include;..\\..\\..\\XML\\include;..\\..\\..\\Util\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies =
diff --git a/PDF/samples/Text/Text.progen b/PDF/samples/Text/Text.progen
index ae20fcfeb..aa38e179b 100644
--- a/PDF/samples/Text/Text.progen
+++ b/PDF/samples/Text/Text.progen
@@ -7,5 +7,5 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include;..\\..\\..\\PDF\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies =
diff --git a/PDF/testsuite/TestSuite.progen b/PDF/testsuite/TestSuite.progen
index 17f326951..fbe3e7456 100644
--- a/PDF/testsuite/TestSuite.progen
+++ b/PDF/testsuite/TestSuite.progen
@@ -7,5 +7,5 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = TestSuite_vs90.vcproj
vc.project.compiler.include = ..\\..\\Foundation\\include;..\\..\\XML\\include;..\\..\\Util\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies = iphlpapi.lib
diff --git a/PageCompiler/File2Page/File2Page.progen b/PageCompiler/File2Page/File2Page.progen
index 8dd0d26ff..fd5708eca 100644
--- a/PageCompiler/File2Page/File2Page.progen
+++ b/PageCompiler/File2Page/File2Page.progen
@@ -12,6 +12,6 @@ vc.project.compiler.defines =
vc.project.compiler.defines.shared =
vc.project.compiler.defines.debug_shared = ${vc.project.compiler.defines.shared}
vc.project.compiler.defines.release_shared = ${vc.project.compiler.defines.shared}
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies = ws2_32.lib iphlpapi.lib
vc.solution.create = true
diff --git a/PageCompiler/PageCompiler.progen b/PageCompiler/PageCompiler.progen
index 4535e63db..d0193b1bf 100644
--- a/PageCompiler/PageCompiler.progen
+++ b/PageCompiler/PageCompiler.progen
@@ -12,6 +12,6 @@ vc.project.compiler.defines =
vc.project.compiler.defines.shared =
vc.project.compiler.defines.debug_shared = ${vc.project.compiler.defines.shared}
vc.project.compiler.defines.release_shared = ${vc.project.compiler.defines.shared}
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies = ws2_32.lib iphlpapi.lib
vc.solution.create = true
diff --git a/PageCompiler/samples/HTTPTimeServer/HTTPTimeServer.progen b/PageCompiler/samples/HTTPTimeServer/HTTPTimeServer.progen
index c610dc055..ede2c7832 100644
--- a/PageCompiler/samples/HTTPTimeServer/HTTPTimeServer.progen
+++ b/PageCompiler/samples/HTTPTimeServer/HTTPTimeServer.progen
@@ -7,5 +7,5 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include;..\\..\\..\\XML\\include;..\\..\\..\\Util\\include;..\\..\\..\\Net\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
diff --git a/PocoDoc/PocoDoc.progen b/PocoDoc/PocoDoc.progen
index 555286756..832c985c5 100644
--- a/PocoDoc/PocoDoc.progen
+++ b/PocoDoc/PocoDoc.progen
@@ -12,6 +12,6 @@ vc.project.compiler.defines =
vc.project.compiler.defines.shared =
vc.project.compiler.defines.debug_shared = ${vc.project.compiler.defines.shared}
vc.project.compiler.defines.release_shared = ${vc.project.compiler.defines.shared}
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies = ws2_32.lib iphlpapi.lib
vc.solution.create = true
diff --git a/ProGen/ProGen.progen b/ProGen/ProGen.progen
index 0cb9602be..93a3aecb4 100644
--- a/ProGen/ProGen.progen
+++ b/ProGen/ProGen.progen
@@ -12,6 +12,6 @@ vc.project.compiler.defines =
vc.project.compiler.defines.shared =
vc.project.compiler.defines.debug_shared = ${vc.project.compiler.defines.shared}
vc.project.compiler.defines.release_shared = ${vc.project.compiler.defines.shared}
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies = ws2_32.lib iphlpapi.lib
vc.solution.create = true
diff --git a/ProGen/src/ProGen.cpp b/ProGen/src/ProGen.cpp
index 236f4f0c2..394f3e1bf 100644
--- a/ProGen/src/ProGen.cpp
+++ b/ProGen/src/ProGen.cpp
@@ -584,6 +584,11 @@ protected:
void fix2022Project(Poco::AutoPtr pProjectDoc, const std::set& configSet, const std::string& platform, const Poco::Util::AbstractConfiguration& projectProps, const Poco::Util::AbstractConfiguration& templateProps)
{
+ // TODO: handle standards
+ // in template:
+ // LanguageStandard="${vc.project.compiler.std.cpp}"
+ // LanguageStandard_C="${vc.project.compiler.std.c}"
+ // for now, we're getting by through AdditionalOptions for C++
fix20XXProject(pProjectDoc, configSet, platform, projectProps, templateProps, "v143");
Poco::AutoPtr pLinkList = pProjectDoc->getElementsByTagName("Link");
for (unsigned long i = 0; i < pLinkList->length(); i++)
diff --git a/ProGen/templates/vs170/Win32/executable/debug_shared-ARM64.template b/ProGen/templates/vs170/Win32/executable/debug_shared-ARM64.template
index 0d017f174..6e09c7f52 100644
--- a/ProGen/templates/vs170/Win32/executable/debug_shared-ARM64.template
+++ b/ProGen/templates/vs170/Win32/executable/debug_shared-ARM64.template
@@ -38,6 +38,8 @@
DebugInformationFormat="3"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/executable/debug_shared-Win32.template b/ProGen/templates/vs170/Win32/executable/debug_shared-Win32.template
index 1e53f6525..f0cbc374c 100644
--- a/ProGen/templates/vs170/Win32/executable/debug_shared-Win32.template
+++ b/ProGen/templates/vs170/Win32/executable/debug_shared-Win32.template
@@ -38,6 +38,8 @@
DebugInformationFormat="3"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/executable/debug_shared-x64.template b/ProGen/templates/vs170/Win32/executable/debug_shared-x64.template
index 6a60609f9..3269b7d49 100644
--- a/ProGen/templates/vs170/Win32/executable/debug_shared-x64.template
+++ b/ProGen/templates/vs170/Win32/executable/debug_shared-x64.template
@@ -38,6 +38,8 @@
DebugInformationFormat="3"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/executable/debug_static_md-ARM64.template b/ProGen/templates/vs170/Win32/executable/debug_static_md-ARM64.template
index 50ec13b97..6e92191b0 100644
--- a/ProGen/templates/vs170/Win32/executable/debug_static_md-ARM64.template
+++ b/ProGen/templates/vs170/Win32/executable/debug_static_md-ARM64.template
@@ -38,6 +38,8 @@
DebugInformationFormat="3"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/executable/debug_static_md-Win32.template b/ProGen/templates/vs170/Win32/executable/debug_static_md-Win32.template
index 2c81701b8..4cbbc03c1 100644
--- a/ProGen/templates/vs170/Win32/executable/debug_static_md-Win32.template
+++ b/ProGen/templates/vs170/Win32/executable/debug_static_md-Win32.template
@@ -38,6 +38,8 @@
DebugInformationFormat="3"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/executable/debug_static_md-x64.template b/ProGen/templates/vs170/Win32/executable/debug_static_md-x64.template
index 540787176..eea5e259c 100644
--- a/ProGen/templates/vs170/Win32/executable/debug_static_md-x64.template
+++ b/ProGen/templates/vs170/Win32/executable/debug_static_md-x64.template
@@ -38,6 +38,8 @@
DebugInformationFormat="3"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/executable/debug_static_mt-ARM64.template b/ProGen/templates/vs170/Win32/executable/debug_static_mt-ARM64.template
index d2f06f731..5859224fb 100644
--- a/ProGen/templates/vs170/Win32/executable/debug_static_mt-ARM64.template
+++ b/ProGen/templates/vs170/Win32/executable/debug_static_mt-ARM64.template
@@ -38,6 +38,8 @@
DebugInformationFormat="3"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/executable/debug_static_mt-Win32.template b/ProGen/templates/vs170/Win32/executable/debug_static_mt-Win32.template
index a157cc259..0eed84cbf 100644
--- a/ProGen/templates/vs170/Win32/executable/debug_static_mt-Win32.template
+++ b/ProGen/templates/vs170/Win32/executable/debug_static_mt-Win32.template
@@ -38,6 +38,8 @@
DebugInformationFormat="3"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/executable/debug_static_mt-x64.template b/ProGen/templates/vs170/Win32/executable/debug_static_mt-x64.template
index 2c8579500..c09aa9775 100644
--- a/ProGen/templates/vs170/Win32/executable/debug_static_mt-x64.template
+++ b/ProGen/templates/vs170/Win32/executable/debug_static_mt-x64.template
@@ -38,6 +38,8 @@
DebugInformationFormat="3"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/executable/release_shared-ARM64.template b/ProGen/templates/vs170/Win32/executable/release_shared-ARM64.template
index f94c04259..a06010b86 100644
--- a/ProGen/templates/vs170/Win32/executable/release_shared-ARM64.template
+++ b/ProGen/templates/vs170/Win32/executable/release_shared-ARM64.template
@@ -41,6 +41,8 @@
DebugInformationFormat="0"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/executable/release_shared-Win32.template b/ProGen/templates/vs170/Win32/executable/release_shared-Win32.template
index 74fec5f6c..83c779a50 100644
--- a/ProGen/templates/vs170/Win32/executable/release_shared-Win32.template
+++ b/ProGen/templates/vs170/Win32/executable/release_shared-Win32.template
@@ -41,6 +41,8 @@
DebugInformationFormat="0"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/executable/release_shared-x64.template b/ProGen/templates/vs170/Win32/executable/release_shared-x64.template
index c413c620a..6afe64a20 100644
--- a/ProGen/templates/vs170/Win32/executable/release_shared-x64.template
+++ b/ProGen/templates/vs170/Win32/executable/release_shared-x64.template
@@ -41,6 +41,8 @@
DebugInformationFormat="0"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/executable/release_static_md-ARM64.template b/ProGen/templates/vs170/Win32/executable/release_static_md-ARM64.template
index 58247df7e..c28555a5b 100644
--- a/ProGen/templates/vs170/Win32/executable/release_static_md-ARM64.template
+++ b/ProGen/templates/vs170/Win32/executable/release_static_md-ARM64.template
@@ -41,6 +41,8 @@
DebugInformationFormat="0"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/executable/release_static_md-Win32.template b/ProGen/templates/vs170/Win32/executable/release_static_md-Win32.template
index adcc9bbdc..04586914d 100644
--- a/ProGen/templates/vs170/Win32/executable/release_static_md-Win32.template
+++ b/ProGen/templates/vs170/Win32/executable/release_static_md-Win32.template
@@ -41,6 +41,8 @@
DebugInformationFormat="0"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/executable/release_static_md-x64.template b/ProGen/templates/vs170/Win32/executable/release_static_md-x64.template
index 070e042c6..9591713e2 100644
--- a/ProGen/templates/vs170/Win32/executable/release_static_md-x64.template
+++ b/ProGen/templates/vs170/Win32/executable/release_static_md-x64.template
@@ -41,6 +41,8 @@
DebugInformationFormat="0"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/executable/release_static_mt-ARM64.template b/ProGen/templates/vs170/Win32/executable/release_static_mt-ARM64.template
index a475f27ce..d7a7e0bac 100644
--- a/ProGen/templates/vs170/Win32/executable/release_static_mt-ARM64.template
+++ b/ProGen/templates/vs170/Win32/executable/release_static_mt-ARM64.template
@@ -41,6 +41,8 @@
DebugInformationFormat="0"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/executable/release_static_mt-Win32.template b/ProGen/templates/vs170/Win32/executable/release_static_mt-Win32.template
index 5ee732a05..c43771347 100644
--- a/ProGen/templates/vs170/Win32/executable/release_static_mt-Win32.template
+++ b/ProGen/templates/vs170/Win32/executable/release_static_mt-Win32.template
@@ -41,6 +41,8 @@
DebugInformationFormat="0"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/executable/release_static_mt-x64.template b/ProGen/templates/vs170/Win32/executable/release_static_mt-x64.template
index a2a3f4d2f..8c7889cb0 100644
--- a/ProGen/templates/vs170/Win32/executable/release_static_mt-x64.template
+++ b/ProGen/templates/vs170/Win32/executable/release_static_mt-x64.template
@@ -41,6 +41,8 @@
DebugInformationFormat="0"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/library/debug_shared-ARM64.template b/ProGen/templates/vs170/Win32/library/debug_shared-ARM64.template
index 67e9e2a4f..ff733b5e6 100644
--- a/ProGen/templates/vs170/Win32/library/debug_shared-ARM64.template
+++ b/ProGen/templates/vs170/Win32/library/debug_shared-ARM64.template
@@ -38,6 +38,8 @@
DebugInformationFormat="3"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/library/debug_shared-Win32.template b/ProGen/templates/vs170/Win32/library/debug_shared-Win32.template
index bbeb15f41..1e6ef2e2d 100644
--- a/ProGen/templates/vs170/Win32/library/debug_shared-Win32.template
+++ b/ProGen/templates/vs170/Win32/library/debug_shared-Win32.template
@@ -38,6 +38,8 @@
DebugInformationFormat="3"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/library/debug_shared-x64.template b/ProGen/templates/vs170/Win32/library/debug_shared-x64.template
index b2fbd27b2..587c848b9 100644
--- a/ProGen/templates/vs170/Win32/library/debug_shared-x64.template
+++ b/ProGen/templates/vs170/Win32/library/debug_shared-x64.template
@@ -38,6 +38,8 @@
DebugInformationFormat="3"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/library/debug_static_md-ARM64.template b/ProGen/templates/vs170/Win32/library/debug_static_md-ARM64.template
index ad65de228..5f67b3f22 100644
--- a/ProGen/templates/vs170/Win32/library/debug_static_md-ARM64.template
+++ b/ProGen/templates/vs170/Win32/library/debug_static_md-ARM64.template
@@ -39,6 +39,8 @@
DebugInformationFormat="3"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/library/debug_static_md-Win32.template b/ProGen/templates/vs170/Win32/library/debug_static_md-Win32.template
index 7b84792b8..be12f08aa 100644
--- a/ProGen/templates/vs170/Win32/library/debug_static_md-Win32.template
+++ b/ProGen/templates/vs170/Win32/library/debug_static_md-Win32.template
@@ -39,6 +39,8 @@
DebugInformationFormat="3"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/library/debug_static_md-x64.template b/ProGen/templates/vs170/Win32/library/debug_static_md-x64.template
index 786a86bc4..6aa1d4336 100644
--- a/ProGen/templates/vs170/Win32/library/debug_static_md-x64.template
+++ b/ProGen/templates/vs170/Win32/library/debug_static_md-x64.template
@@ -39,6 +39,8 @@
DebugInformationFormat="3"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/library/debug_static_mt-ARM64.template b/ProGen/templates/vs170/Win32/library/debug_static_mt-ARM64.template
index 756c090cf..f9df17907 100644
--- a/ProGen/templates/vs170/Win32/library/debug_static_mt-ARM64.template
+++ b/ProGen/templates/vs170/Win32/library/debug_static_mt-ARM64.template
@@ -39,6 +39,8 @@
DebugInformationFormat="3"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/library/debug_static_mt-Win32.template b/ProGen/templates/vs170/Win32/library/debug_static_mt-Win32.template
index 2522fe20d..02b3e5774 100644
--- a/ProGen/templates/vs170/Win32/library/debug_static_mt-Win32.template
+++ b/ProGen/templates/vs170/Win32/library/debug_static_mt-Win32.template
@@ -39,6 +39,8 @@
DebugInformationFormat="3"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/library/debug_static_mt-x64.template b/ProGen/templates/vs170/Win32/library/debug_static_mt-x64.template
index b2233a300..9900351b9 100644
--- a/ProGen/templates/vs170/Win32/library/debug_static_mt-x64.template
+++ b/ProGen/templates/vs170/Win32/library/debug_static_mt-x64.template
@@ -39,6 +39,8 @@
DebugInformationFormat="3"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/library/release_shared-ARM64.template b/ProGen/templates/vs170/Win32/library/release_shared-ARM64.template
index c87d1875d..2b35da9ce 100644
--- a/ProGen/templates/vs170/Win32/library/release_shared-ARM64.template
+++ b/ProGen/templates/vs170/Win32/library/release_shared-ARM64.template
@@ -41,6 +41,8 @@
DebugInformationFormat="0"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/library/release_shared-Win32.template b/ProGen/templates/vs170/Win32/library/release_shared-Win32.template
index d21a8d6f3..afdf988d2 100644
--- a/ProGen/templates/vs170/Win32/library/release_shared-Win32.template
+++ b/ProGen/templates/vs170/Win32/library/release_shared-Win32.template
@@ -41,6 +41,8 @@
DebugInformationFormat="0"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/library/release_shared-x64.template b/ProGen/templates/vs170/Win32/library/release_shared-x64.template
index bb3287cee..d0f231df5 100644
--- a/ProGen/templates/vs170/Win32/library/release_shared-x64.template
+++ b/ProGen/templates/vs170/Win32/library/release_shared-x64.template
@@ -41,6 +41,8 @@
DebugInformationFormat="0"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/library/release_static_md-ARM64.template b/ProGen/templates/vs170/Win32/library/release_static_md-ARM64.template
index b485e3433..eac1fc53a 100644
--- a/ProGen/templates/vs170/Win32/library/release_static_md-ARM64.template
+++ b/ProGen/templates/vs170/Win32/library/release_static_md-ARM64.template
@@ -41,6 +41,8 @@
DebugInformationFormat="0"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/library/release_static_md-Win32.template b/ProGen/templates/vs170/Win32/library/release_static_md-Win32.template
index b731abaad..f77d914c2 100644
--- a/ProGen/templates/vs170/Win32/library/release_static_md-Win32.template
+++ b/ProGen/templates/vs170/Win32/library/release_static_md-Win32.template
@@ -42,6 +42,8 @@
DebugInformationFormat="0"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/library/release_static_md-x64.template b/ProGen/templates/vs170/Win32/library/release_static_md-x64.template
index 57d54d0a4..91596d53f 100644
--- a/ProGen/templates/vs170/Win32/library/release_static_md-x64.template
+++ b/ProGen/templates/vs170/Win32/library/release_static_md-x64.template
@@ -41,6 +41,8 @@
DebugInformationFormat="0"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/library/release_static_mt-ARM64.template b/ProGen/templates/vs170/Win32/library/release_static_mt-ARM64.template
index 7d5b194e8..9fc9bac97 100644
--- a/ProGen/templates/vs170/Win32/library/release_static_mt-ARM64.template
+++ b/ProGen/templates/vs170/Win32/library/release_static_mt-ARM64.template
@@ -41,6 +41,8 @@
DebugInformationFormat="0"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/library/release_static_mt-Win32.template b/ProGen/templates/vs170/Win32/library/release_static_mt-Win32.template
index eb99d59a2..c7ee3da27 100644
--- a/ProGen/templates/vs170/Win32/library/release_static_mt-Win32.template
+++ b/ProGen/templates/vs170/Win32/library/release_static_mt-Win32.template
@@ -41,6 +41,8 @@
DebugInformationFormat="0"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/library/release_static_mt-x64.template b/ProGen/templates/vs170/Win32/library/release_static_mt-x64.template
index 4bcb145b4..167881543 100644
--- a/ProGen/templates/vs170/Win32/library/release_static_mt-x64.template
+++ b/ProGen/templates/vs170/Win32/library/release_static_mt-x64.template
@@ -41,6 +41,8 @@
DebugInformationFormat="0"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/plugin/debug_shared-ARM64.template b/ProGen/templates/vs170/Win32/plugin/debug_shared-ARM64.template
index 14180efa7..ce397d049 100644
--- a/ProGen/templates/vs170/Win32/plugin/debug_shared-ARM64.template
+++ b/ProGen/templates/vs170/Win32/plugin/debug_shared-ARM64.template
@@ -38,6 +38,8 @@
DebugInformationFormat="3"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/plugin/debug_shared-Win32.template b/ProGen/templates/vs170/Win32/plugin/debug_shared-Win32.template
index 7eb7c39e2..4e2541a71 100644
--- a/ProGen/templates/vs170/Win32/plugin/debug_shared-Win32.template
+++ b/ProGen/templates/vs170/Win32/plugin/debug_shared-Win32.template
@@ -38,6 +38,8 @@
DebugInformationFormat="3"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/plugin/debug_shared-x64.template b/ProGen/templates/vs170/Win32/plugin/debug_shared-x64.template
index d3a864e67..1ae6b0e05 100644
--- a/ProGen/templates/vs170/Win32/plugin/debug_shared-x64.template
+++ b/ProGen/templates/vs170/Win32/plugin/debug_shared-x64.template
@@ -38,6 +38,8 @@
DebugInformationFormat="3"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/plugin/release_shared-ARM64.template b/ProGen/templates/vs170/Win32/plugin/release_shared-ARM64.template
index d963a40a5..6171ef1c7 100644
--- a/ProGen/templates/vs170/Win32/plugin/release_shared-ARM64.template
+++ b/ProGen/templates/vs170/Win32/plugin/release_shared-ARM64.template
@@ -41,6 +41,8 @@
DebugInformationFormat="0"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/plugin/release_shared-Win32.template b/ProGen/templates/vs170/Win32/plugin/release_shared-Win32.template
index c7f434704..4c3250275 100644
--- a/ProGen/templates/vs170/Win32/plugin/release_shared-Win32.template
+++ b/ProGen/templates/vs170/Win32/plugin/release_shared-Win32.template
@@ -41,6 +41,8 @@
DebugInformationFormat="0"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/plugin/release_shared-x64.template b/ProGen/templates/vs170/Win32/plugin/release_shared-x64.template
index 348c2b6af..286237b32 100644
--- a/ProGen/templates/vs170/Win32/plugin/release_shared-x64.template
+++ b/ProGen/templates/vs170/Win32/plugin/release_shared-x64.template
@@ -41,6 +41,8 @@
DebugInformationFormat="0"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/testsuite/debug_shared-ARM64.template b/ProGen/templates/vs170/Win32/testsuite/debug_shared-ARM64.template
index cc5e42b6f..c96761832 100644
--- a/ProGen/templates/vs170/Win32/testsuite/debug_shared-ARM64.template
+++ b/ProGen/templates/vs170/Win32/testsuite/debug_shared-ARM64.template
@@ -38,6 +38,8 @@
DebugInformationFormat="3"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/testsuite/debug_shared-Win32.template b/ProGen/templates/vs170/Win32/testsuite/debug_shared-Win32.template
index f22beb012..9d82b2d58 100644
--- a/ProGen/templates/vs170/Win32/testsuite/debug_shared-Win32.template
+++ b/ProGen/templates/vs170/Win32/testsuite/debug_shared-Win32.template
@@ -38,6 +38,8 @@
DebugInformationFormat="3"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/testsuite/debug_shared-x64.template b/ProGen/templates/vs170/Win32/testsuite/debug_shared-x64.template
index fadac8ccb..6badd1a14 100644
--- a/ProGen/templates/vs170/Win32/testsuite/debug_shared-x64.template
+++ b/ProGen/templates/vs170/Win32/testsuite/debug_shared-x64.template
@@ -38,6 +38,8 @@
DebugInformationFormat="3"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/testsuite/debug_static_md-ARM64.template b/ProGen/templates/vs170/Win32/testsuite/debug_static_md-ARM64.template
index 7a76dfec1..075924d57 100644
--- a/ProGen/templates/vs170/Win32/testsuite/debug_static_md-ARM64.template
+++ b/ProGen/templates/vs170/Win32/testsuite/debug_static_md-ARM64.template
@@ -38,6 +38,8 @@
DebugInformationFormat="3"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/testsuite/debug_static_md-Win32.template b/ProGen/templates/vs170/Win32/testsuite/debug_static_md-Win32.template
index bb7df4cc0..c31cf435a 100644
--- a/ProGen/templates/vs170/Win32/testsuite/debug_static_md-Win32.template
+++ b/ProGen/templates/vs170/Win32/testsuite/debug_static_md-Win32.template
@@ -38,6 +38,8 @@
DebugInformationFormat="3"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/testsuite/debug_static_md-x64.template b/ProGen/templates/vs170/Win32/testsuite/debug_static_md-x64.template
index 3def75c6b..8ec7c04b4 100644
--- a/ProGen/templates/vs170/Win32/testsuite/debug_static_md-x64.template
+++ b/ProGen/templates/vs170/Win32/testsuite/debug_static_md-x64.template
@@ -38,6 +38,8 @@
DebugInformationFormat="3"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/testsuite/debug_static_mt-ARM64.template b/ProGen/templates/vs170/Win32/testsuite/debug_static_mt-ARM64.template
index 2a49771ca..c54f2c6b5 100644
--- a/ProGen/templates/vs170/Win32/testsuite/debug_static_mt-ARM64.template
+++ b/ProGen/templates/vs170/Win32/testsuite/debug_static_mt-ARM64.template
@@ -38,6 +38,8 @@
DebugInformationFormat="3"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/testsuite/debug_static_mt-Win32.template b/ProGen/templates/vs170/Win32/testsuite/debug_static_mt-Win32.template
index 432af105c..ec9d6244c 100644
--- a/ProGen/templates/vs170/Win32/testsuite/debug_static_mt-Win32.template
+++ b/ProGen/templates/vs170/Win32/testsuite/debug_static_mt-Win32.template
@@ -38,6 +38,8 @@
DebugInformationFormat="3"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/testsuite/debug_static_mt-x64.template b/ProGen/templates/vs170/Win32/testsuite/debug_static_mt-x64.template
index 1e62bd6f3..032e87005 100644
--- a/ProGen/templates/vs170/Win32/testsuite/debug_static_mt-x64.template
+++ b/ProGen/templates/vs170/Win32/testsuite/debug_static_mt-x64.template
@@ -38,6 +38,8 @@
DebugInformationFormat="3"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/testsuite/release_shared-ARM64.template b/ProGen/templates/vs170/Win32/testsuite/release_shared-ARM64.template
index 019792bc4..58a940bef 100644
--- a/ProGen/templates/vs170/Win32/testsuite/release_shared-ARM64.template
+++ b/ProGen/templates/vs170/Win32/testsuite/release_shared-ARM64.template
@@ -41,6 +41,8 @@
DebugInformationFormat="0"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/testsuite/release_shared-Win32.template b/ProGen/templates/vs170/Win32/testsuite/release_shared-Win32.template
index 5f87dd23f..daf4781cb 100644
--- a/ProGen/templates/vs170/Win32/testsuite/release_shared-Win32.template
+++ b/ProGen/templates/vs170/Win32/testsuite/release_shared-Win32.template
@@ -41,6 +41,8 @@
DebugInformationFormat="0"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/testsuite/release_shared-x64.template b/ProGen/templates/vs170/Win32/testsuite/release_shared-x64.template
index 29a6d078f..a100e0fa7 100644
--- a/ProGen/templates/vs170/Win32/testsuite/release_shared-x64.template
+++ b/ProGen/templates/vs170/Win32/testsuite/release_shared-x64.template
@@ -41,6 +41,8 @@
DebugInformationFormat="0"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/testsuite/release_static_md-ARM64.template b/ProGen/templates/vs170/Win32/testsuite/release_static_md-ARM64.template
index b61783cef..cbd712ef5 100644
--- a/ProGen/templates/vs170/Win32/testsuite/release_static_md-ARM64.template
+++ b/ProGen/templates/vs170/Win32/testsuite/release_static_md-ARM64.template
@@ -41,6 +41,8 @@
DebugInformationFormat="0"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/testsuite/release_static_md-Win32.template b/ProGen/templates/vs170/Win32/testsuite/release_static_md-Win32.template
index 56748c8d6..4308e6bcc 100644
--- a/ProGen/templates/vs170/Win32/testsuite/release_static_md-Win32.template
+++ b/ProGen/templates/vs170/Win32/testsuite/release_static_md-Win32.template
@@ -41,6 +41,8 @@
DebugInformationFormat="0"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/testsuite/release_static_md-x64.template b/ProGen/templates/vs170/Win32/testsuite/release_static_md-x64.template
index 4a2e95d19..53444e6a3 100644
--- a/ProGen/templates/vs170/Win32/testsuite/release_static_md-x64.template
+++ b/ProGen/templates/vs170/Win32/testsuite/release_static_md-x64.template
@@ -41,6 +41,8 @@
DebugInformationFormat="0"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/testsuite/release_static_mt-ARM64.template b/ProGen/templates/vs170/Win32/testsuite/release_static_mt-ARM64.template
index feeb99467..d1d18b5b6 100644
--- a/ProGen/templates/vs170/Win32/testsuite/release_static_mt-ARM64.template
+++ b/ProGen/templates/vs170/Win32/testsuite/release_static_mt-ARM64.template
@@ -41,6 +41,8 @@
DebugInformationFormat="0"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/testsuite/release_static_mt-Win32.template b/ProGen/templates/vs170/Win32/testsuite/release_static_mt-Win32.template
index bec106742..1583ff998 100644
--- a/ProGen/templates/vs170/Win32/testsuite/release_static_mt-Win32.template
+++ b/ProGen/templates/vs170/Win32/testsuite/release_static_mt-Win32.template
@@ -41,6 +41,8 @@
DebugInformationFormat="0"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/ProGen/templates/vs170/Win32/testsuite/release_static_mt-x64.template b/ProGen/templates/vs170/Win32/testsuite/release_static_mt-x64.template
index f6b12737a..123fb0728 100644
--- a/ProGen/templates/vs170/Win32/testsuite/release_static_mt-x64.template
+++ b/ProGen/templates/vs170/Win32/testsuite/release_static_mt-x64.template
@@ -41,6 +41,8 @@
DebugInformationFormat="0"
CompileAs="0"
ProgramDatabaseFileName="$(OutDir)$(TargetName).pdb"
+ LanguageStandard="${vc.project.compiler.std.cpp}"
+ LanguageStandard_C="${vc.project.compiler.std.c}"
DisableSpecificWarnings="${configuration.compiler.disableWarnings}"
AdditionalOptions="${configuration.compiler.additionalOptions}"
/>
diff --git a/Prometheus/Prometheus.progen b/Prometheus/Prometheus.progen
index cfe4ce225..e24b46f91 100644
--- a/Prometheus/Prometheus.progen
+++ b/Prometheus/Prometheus.progen
@@ -12,6 +12,6 @@ vc.project.compiler.defines =
vc.project.compiler.defines.shared = ${vc.project.name}_EXPORTS
vc.project.compiler.defines.debug_shared = ${vc.project.compiler.defines.shared}
vc.project.compiler.defines.release_shared = ${vc.project.compiler.defines.shared}
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.solution.create = true
vc.solution.include = testsuite\\TestSuite
diff --git a/Prometheus/samples/MetricsSample/MetricsSample.progen b/Prometheus/samples/MetricsSample/MetricsSample.progen
index db3ccc99f..a6047e0a0 100644
--- a/Prometheus/samples/MetricsSample/MetricsSample.progen
+++ b/Prometheus/samples/MetricsSample/MetricsSample.progen
@@ -7,5 +7,5 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include;..\\..\\..\\Util\\include;..\\..\\..\\XML\\include;..\\..\\..\\JSON\\include;..\\..\\..\\Net\\include;..\\..\\..\\Prometheus\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
diff --git a/Prometheus/testsuite/TestSuite.progen b/Prometheus/testsuite/TestSuite.progen
index 3fd46be00..21c033eab 100644
--- a/Prometheus/testsuite/TestSuite.progen
+++ b/Prometheus/testsuite/TestSuite.progen
@@ -7,4 +7,4 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = TestSuite_vs90.vcproj
vc.project.compiler.include = ..\\..\\Foundation\\include;..\\..\\Net\\include;..\\..\\Prometheus\\include;.\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
\ No newline at end of file
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
\ No newline at end of file
diff --git a/Redis/Redis.progen b/Redis/Redis.progen
index a3300cd1f..6f31b281c 100644
--- a/Redis/Redis.progen
+++ b/Redis/Redis.progen
@@ -12,6 +12,6 @@ vc.project.compiler.defines =
vc.project.compiler.defines.shared = ${vc.project.name}_EXPORTS
vc.project.compiler.defines.debug_shared = ${vc.project.compiler.defines.shared}
vc.project.compiler.defines.release_shared = ${vc.project.compiler.defines.shared}
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.solution.create = true
vc.solution.include = testsuite\\TestSuite
diff --git a/Redis/testsuite/TestSuite.progen b/Redis/testsuite/TestSuite.progen
index fb74be89f..c1bc49fed 100644
--- a/Redis/testsuite/TestSuite.progen
+++ b/Redis/testsuite/TestSuite.progen
@@ -7,5 +7,5 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = TestSuite_vs90.vcproj
vc.project.compiler.include = ..\\..\\Foundation\\include;..\\..\\Net\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
diff --git a/SevenZip/SevenZip.progen b/SevenZip/SevenZip.progen
index 704a7a428..b262740ed 100644
--- a/SevenZip/SevenZip.progen
+++ b/SevenZip/SevenZip.progen
@@ -13,5 +13,5 @@ vc.project.compiler.defines.shared = ${vc.project.name}_EXPORTS
vc.project.compiler.defines.debug_shared = ${vc.project.compiler.defines.shared}
vc.project.compiler.defines.release_shared = ${vc.project.compiler.defines.shared}
vc.project.compiler.disableWarnings = 4244;4267
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.solution.create = true
diff --git a/SevenZip/samples/un7zip/un7zip.progen b/SevenZip/samples/un7zip/un7zip.progen
index be513ad17..90a8dd807 100644
--- a/SevenZip/samples/un7zip/un7zip.progen
+++ b/SevenZip/samples/un7zip/un7zip.progen
@@ -7,4 +7,4 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include;..\\..\\..\\XML\\include;..\\..\\..\\Util\\include;..\\..\\..\\SevenZip\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
diff --git a/Util/Util.progen b/Util/Util.progen
index 465e2dbdb..67580f011 100644
--- a/Util/Util.progen
+++ b/Util/Util.progen
@@ -8,7 +8,7 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\Foundation\\include;..\\XML\\include;..\\JSON\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.compiler.defines =
vc.project.compiler.defines.shared = ${vc.project.name}_EXPORTS
vc.project.compiler.defines.debug_shared = ${vc.project.compiler.defines.shared}
diff --git a/Util/samples/SampleApp/SampleApp.progen b/Util/samples/SampleApp/SampleApp.progen
index 36407c412..b1d2420a5 100644
--- a/Util/samples/SampleApp/SampleApp.progen
+++ b/Util/samples/SampleApp/SampleApp.progen
@@ -7,5 +7,5 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include;..\\..\\..\\XML\\include;..\\..\\..\\Util\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
diff --git a/Util/samples/SampleServer/SampleServer.progen b/Util/samples/SampleServer/SampleServer.progen
index 36407c412..b1d2420a5 100644
--- a/Util/samples/SampleServer/SampleServer.progen
+++ b/Util/samples/SampleServer/SampleServer.progen
@@ -7,5 +7,5 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include;..\\..\\..\\XML\\include;..\\..\\..\\Util\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
diff --git a/Util/samples/Units/Units.progen b/Util/samples/Units/Units.progen
index bb80bca91..80c2d2653 100644
--- a/Util/samples/Units/Units.progen
+++ b/Util/samples/Units/Units.progen
@@ -7,4 +7,4 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include;..\\..\\..\\Util\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
diff --git a/Util/samples/pkill/pkill.progen b/Util/samples/pkill/pkill.progen
index 36407c412..b1d2420a5 100644
--- a/Util/samples/pkill/pkill.progen
+++ b/Util/samples/pkill/pkill.progen
@@ -7,5 +7,5 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include;..\\..\\..\\XML\\include;..\\..\\..\\Util\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
diff --git a/Util/testsuite/TestSuite.progen b/Util/testsuite/TestSuite.progen
index c734b414d..2280fee75 100644
--- a/Util/testsuite/TestSuite.progen
+++ b/Util/testsuite/TestSuite.progen
@@ -7,5 +7,5 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = TestSuite_vs90.vcproj
vc.project.compiler.include = ..\\..\\Foundation\\include;..\\..\\XML\\include;..\\..\\JSON\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = iphlpapi.lib
diff --git a/XML/XML.progen b/XML/XML.progen
index e8b0f0645..da5e6529f 100644
--- a/XML/XML.progen
+++ b/XML/XML.progen
@@ -12,6 +12,6 @@ vc.project.compiler.defines = XML_STATIC;XML_NS;XML_DTD;HAVE_EXPAT_CONFIG_H
vc.project.compiler.defines.shared = ${vc.project.name}_EXPORTS
vc.project.compiler.defines.debug_shared = ${vc.project.compiler.defines.shared}
vc.project.compiler.defines.release_shared = ${vc.project.compiler.defines.shared}
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.solution.create = true
vc.solution.include = testsuite\\TestSuite
diff --git a/XML/samples/DOMParser/DOMParser.progen b/XML/samples/DOMParser/DOMParser.progen
index cd5b15cf0..299a2da6e 100644
--- a/XML/samples/DOMParser/DOMParser.progen
+++ b/XML/samples/DOMParser/DOMParser.progen
@@ -7,5 +7,5 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include;..\\..\\..\\XML\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
diff --git a/XML/samples/DOMWriter/DOMWriter.progen b/XML/samples/DOMWriter/DOMWriter.progen
index cd5b15cf0..299a2da6e 100644
--- a/XML/samples/DOMWriter/DOMWriter.progen
+++ b/XML/samples/DOMWriter/DOMWriter.progen
@@ -7,5 +7,5 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include;..\\..\\..\\XML\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
diff --git a/XML/samples/PrettyPrint/PrettyPrint.progen b/XML/samples/PrettyPrint/PrettyPrint.progen
index cd5b15cf0..299a2da6e 100644
--- a/XML/samples/PrettyPrint/PrettyPrint.progen
+++ b/XML/samples/PrettyPrint/PrettyPrint.progen
@@ -7,5 +7,5 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include;..\\..\\..\\XML\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
diff --git a/XML/samples/SAXParser/SAXParser.progen b/XML/samples/SAXParser/SAXParser.progen
index cd5b15cf0..299a2da6e 100644
--- a/XML/samples/SAXParser/SAXParser.progen
+++ b/XML/samples/SAXParser/SAXParser.progen
@@ -7,5 +7,5 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include;..\\..\\..\\XML\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
diff --git a/XML/testsuite/TestSuite.progen b/XML/testsuite/TestSuite.progen
index 09d789f80..99ba45b05 100644
--- a/XML/testsuite/TestSuite.progen
+++ b/XML/testsuite/TestSuite.progen
@@ -7,5 +7,5 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = TestSuite_vs90.vcproj
vc.project.compiler.include = ..\\..\\Foundation\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies = iphlpapi.lib
diff --git a/Zip/Zip.progen b/Zip/Zip.progen
index fbcba85bf..c3cddae59 100644
--- a/Zip/Zip.progen
+++ b/Zip/Zip.progen
@@ -13,7 +13,7 @@ vc.project.compiler.defines.shared = ${vc.project.name}_EXPORTS
vc.project.compiler.defines.debug_shared = ${vc.project.compiler.defines.shared}
vc.project.compiler.defines.release_shared = ${vc.project.compiler.defines.shared}
vc.project.compiler.disableWarnings = 4244;4267
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
vc.solution.create = true
vc.solution.include = testsuite\\TestSuite
diff --git a/Zip/samples/unzip/unzip.progen b/Zip/samples/unzip/unzip.progen
index 2df44952a..32577f864 100644
--- a/Zip/samples/unzip/unzip.progen
+++ b/Zip/samples/unzip/unzip.progen
@@ -7,5 +7,5 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include;..\\..\\..\\XML\\include;..\\..\\..\\Util\\include;..\\..\\..\\Zip\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
diff --git a/Zip/samples/zip/zip.progen b/Zip/samples/zip/zip.progen
index 2df44952a..32577f864 100644
--- a/Zip/samples/zip/zip.progen
+++ b/Zip/samples/zip/zip.progen
@@ -7,5 +7,5 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\..\\..\\Foundation\\include;..\\..\\..\\XML\\include;..\\..\\..\\Util\\include;..\\..\\..\\Zip\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
diff --git a/Zip/testsuite/TestSuite.progen b/Zip/testsuite/TestSuite.progen
index 132ab0546..1617f52d8 100644
--- a/Zip/testsuite/TestSuite.progen
+++ b/Zip/testsuite/TestSuite.progen
@@ -7,6 +7,6 @@ vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = TestSuite_vs90.vcproj
vc.project.compiler.include = ..\\..\\Foundation\\include
-vc.project.compiler.additionalOptions = /Zc:__cplusplus
+vc.project.compiler.additionalOptions = /Zc:__cplusplus /std:c++17
vc.project.linker.dependencies = iphlpapi.lib