diff options
Diffstat (limited to 'Templates')
-rw-r--r-- | Templates/MSBuild/CustomBuildDepFile.targets | 48 | ||||
-rw-r--r-- | Templates/MSBuild/FlagTables/v10_CSharp.json | 51 | ||||
-rw-r--r-- | Templates/MSBuild/FlagTables/v10_Link.json | 9 | ||||
-rw-r--r-- | Templates/MSBuild/FlagTables/v11_CSharp.json | 51 | ||||
-rw-r--r-- | Templates/MSBuild/FlagTables/v11_Link.json | 9 | ||||
-rw-r--r-- | Templates/MSBuild/FlagTables/v12_CSharp.json | 51 | ||||
-rw-r--r-- | Templates/MSBuild/FlagTables/v12_Link.json | 9 | ||||
-rw-r--r-- | Templates/MSBuild/FlagTables/v140_CSharp.json | 51 | ||||
-rw-r--r-- | Templates/MSBuild/FlagTables/v140_Link.json | 9 | ||||
-rw-r--r-- | Templates/MSBuild/FlagTables/v141_CL.json | 53 | ||||
-rw-r--r-- | Templates/MSBuild/FlagTables/v141_CSharp.json | 51 | ||||
-rw-r--r-- | Templates/MSBuild/FlagTables/v141_Link.json | 9 | ||||
-rw-r--r-- | Templates/MSBuild/FlagTables/v142_CL.json | 253 | ||||
-rw-r--r-- | Templates/MSBuild/FlagTables/v142_CSharp.json | 51 | ||||
-rw-r--r-- | Templates/MSBuild/FlagTables/v142_Link.json | 9 | ||||
-rw-r--r-- | Templates/TestDriver.cxx.in | 45 |
16 files changed, 406 insertions, 353 deletions
diff --git a/Templates/MSBuild/CustomBuildDepFile.targets b/Templates/MSBuild/CustomBuildDepFile.targets new file mode 100644 index 000000000..2387ab539 --- /dev/null +++ b/Templates/MSBuild/CustomBuildDepFile.targets @@ -0,0 +1,48 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <!-- Update AdditionalInputs with depfile-discovered inputs. --> + <Target Name="CMakeCustomBuildDepFileAdditionalInputs" BeforeTargets="CustomBuild" Condition="'@(CustomBuild)' != ''"> + <ItemGroup> + <!-- Save original AdditionalInputs generated by CMake. --> + <CustomBuild> + <CMakeAdditionalInputs>%(CustomBuild.AdditionalInputs)</CMakeAdditionalInputs> + </CustomBuild> + <!-- Read depfile-discovered inputs. --> + <CustomBuild Condition="Exists('%(CustomBuild.DepFileAdditionalInputsFile)')"> + <DepFileAdditionalInputs>$([System.IO.File]::ReadAllText('%(CustomBuild.DepFileAdditionalInputsFile)').TrimEnd())</DepFileAdditionalInputs> + </CustomBuild> + <!-- Add depfile-discovered inputs to AdditionalInputs. --> + <CustomBuild Condition="'%(CustomBuild.DepFileAdditionalInputs)' != ''"> + <AdditionalInputs Condition="'%(CustomBuild.AdditionalInputs)' == ''">%(CustomBuild.DepFileAdditionalInputs)</AdditionalInputs> + <AdditionalInputs Condition="'%(CustomBuild.AdditionalInputs)' != ''">%(CustomBuild.AdditionalInputs);%(CustomBuild.DepFileAdditionalInputs)</AdditionalInputs> + </CustomBuild> + </ItemGroup> + </Target> + + <!-- Update the tracking log with depfile-discovered inputs. --> + <Target Name="CMakeCustomBuildDepFileTrackingLog" AfterTargets="CustomBuild" Condition="'@(CustomBuild)' != ''"> + <!-- Compute the tracking log content for each CustomBuild item individually. --> + <ItemGroup> + <!-- Read depfile-discovered inputs. --> + <CustomBuild Condition="Exists('%(CustomBuild.DepFileAdditionalInputsFile)')"> + <DepFileAdditionalInputs>$([System.IO.File]::ReadAllText('%(CustomBuild.DepFileAdditionalInputsFile)').TrimEnd())</DepFileAdditionalInputs> + </CustomBuild> + <!-- Generate tracking log representation of all inputs. --> + <CustomBuild> + <ReadTLog>^%(CustomBuild.Identity)
</ReadTLog> + </CustomBuild> + <CustomBuild Condition="'%(CustomBuild.CMakeAdditionalInputs)' != ''"> + <ReadTLog>%(ReadTLog)$([System.String]::Copy('%(CustomBuild.CMakeAdditionalInputs)').Trim(';').Replace(';', '
'))
</ReadTLog> + </CustomBuild> + <CustomBuild Condition="'%(CustomBuild.DepFileAdditionalInputs)' != ''"> + <ReadTLog>%(ReadTLog)$([System.String]::Copy('%(CustomBuild.DepFileAdditionalInputs)').Trim(';').Replace(';', '
'))
</ReadTLog> + </CustomBuild> + </ItemGroup> + <!-- Compute the combined tracking log for all CustomBuild items together. --> + <PropertyGroup> + <CustomBuildReadTLog>@(CustomBuild->'%(ReadTLog)','')</CustomBuildReadTLog> + </PropertyGroup> + <!-- Replace the combined tracking log on disk. --> + <WriteLinesToFile File="$(TLogLocation)CustomBuild.read.1.tlog" Overwrite="true" Lines="$(CustomBuildReadTLog.ToUpper())" /> + </Target> +</Project> diff --git a/Templates/MSBuild/FlagTables/v10_CSharp.json b/Templates/MSBuild/FlagTables/v10_CSharp.json index 5989aea1e..9f21d9a27 100644 --- a/Templates/MSBuild/FlagTables/v10_CSharp.json +++ b/Templates/MSBuild/FlagTables/v10_CSharp.json @@ -363,52 +363,13 @@ }, { "name": "LangVersion", - "switch": "langversion:ISO-1", + "switch": "langversion:", "comment": "", - "value": "ISO-1", - "flags": [] - }, - { - "name": "LangVersion", - "switch": "langversion:ISO-2", - "comment": "", - "value": "ISO-2", - "flags": [] - }, - { - "name": "LangVersion", - "switch": "langversion:3", - "comment": "", - "value": "3", - "flags": [] - }, - { - "name": "LangVersion", - "switch": "langversion:4", - "comment": "", - "value": "4", - "flags": [] - }, - { - "name": "LangVersion", - "switch": "langversion:5", - "comment": "", - "value": "5", - "flags": [] - }, - { - "name": "LangVersion", - "switch": "langversion:6", - "comment": "", - "value": "6", - "flags": [] - }, - { - "name": "LangVersion", - "switch": "langversion:default", - "comment": "", - "value": "default", - "flags": [] + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] }, { "name": "DelaySign", diff --git a/Templates/MSBuild/FlagTables/v10_Link.json b/Templates/MSBuild/FlagTables/v10_Link.json index ac5b8b16c..494774bc2 100644 --- a/Templates/MSBuild/FlagTables/v10_Link.json +++ b/Templates/MSBuild/FlagTables/v10_Link.json @@ -1090,15 +1090,6 @@ ] }, { - "name": "MergeSections", - "switch": "MERGE:", - "comment": "Merge Sections", - "value": "", - "flags": [ - "UserValue" - ] - }, - { "name": "LinkKeyFile", "switch": "KEYFILE:", "comment": "Key File", diff --git a/Templates/MSBuild/FlagTables/v11_CSharp.json b/Templates/MSBuild/FlagTables/v11_CSharp.json index 5989aea1e..9f21d9a27 100644 --- a/Templates/MSBuild/FlagTables/v11_CSharp.json +++ b/Templates/MSBuild/FlagTables/v11_CSharp.json @@ -363,52 +363,13 @@ }, { "name": "LangVersion", - "switch": "langversion:ISO-1", + "switch": "langversion:", "comment": "", - "value": "ISO-1", - "flags": [] - }, - { - "name": "LangVersion", - "switch": "langversion:ISO-2", - "comment": "", - "value": "ISO-2", - "flags": [] - }, - { - "name": "LangVersion", - "switch": "langversion:3", - "comment": "", - "value": "3", - "flags": [] - }, - { - "name": "LangVersion", - "switch": "langversion:4", - "comment": "", - "value": "4", - "flags": [] - }, - { - "name": "LangVersion", - "switch": "langversion:5", - "comment": "", - "value": "5", - "flags": [] - }, - { - "name": "LangVersion", - "switch": "langversion:6", - "comment": "", - "value": "6", - "flags": [] - }, - { - "name": "LangVersion", - "switch": "langversion:default", - "comment": "", - "value": "default", - "flags": [] + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] }, { "name": "DelaySign", diff --git a/Templates/MSBuild/FlagTables/v11_Link.json b/Templates/MSBuild/FlagTables/v11_Link.json index 5d5c13f21..0db5d9e05 100644 --- a/Templates/MSBuild/FlagTables/v11_Link.json +++ b/Templates/MSBuild/FlagTables/v11_Link.json @@ -1225,15 +1225,6 @@ ] }, { - "name": "MergeSections", - "switch": "MERGE:", - "comment": "Merge Sections", - "value": "", - "flags": [ - "UserValue" - ] - }, - { "name": "LinkKeyFile", "switch": "KEYFILE:", "comment": "Key File", diff --git a/Templates/MSBuild/FlagTables/v12_CSharp.json b/Templates/MSBuild/FlagTables/v12_CSharp.json index 5989aea1e..9f21d9a27 100644 --- a/Templates/MSBuild/FlagTables/v12_CSharp.json +++ b/Templates/MSBuild/FlagTables/v12_CSharp.json @@ -363,52 +363,13 @@ }, { "name": "LangVersion", - "switch": "langversion:ISO-1", + "switch": "langversion:", "comment": "", - "value": "ISO-1", - "flags": [] - }, - { - "name": "LangVersion", - "switch": "langversion:ISO-2", - "comment": "", - "value": "ISO-2", - "flags": [] - }, - { - "name": "LangVersion", - "switch": "langversion:3", - "comment": "", - "value": "3", - "flags": [] - }, - { - "name": "LangVersion", - "switch": "langversion:4", - "comment": "", - "value": "4", - "flags": [] - }, - { - "name": "LangVersion", - "switch": "langversion:5", - "comment": "", - "value": "5", - "flags": [] - }, - { - "name": "LangVersion", - "switch": "langversion:6", - "comment": "", - "value": "6", - "flags": [] - }, - { - "name": "LangVersion", - "switch": "langversion:default", - "comment": "", - "value": "default", - "flags": [] + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] }, { "name": "DelaySign", diff --git a/Templates/MSBuild/FlagTables/v12_Link.json b/Templates/MSBuild/FlagTables/v12_Link.json index 5d5c13f21..0db5d9e05 100644 --- a/Templates/MSBuild/FlagTables/v12_Link.json +++ b/Templates/MSBuild/FlagTables/v12_Link.json @@ -1225,15 +1225,6 @@ ] }, { - "name": "MergeSections", - "switch": "MERGE:", - "comment": "Merge Sections", - "value": "", - "flags": [ - "UserValue" - ] - }, - { "name": "LinkKeyFile", "switch": "KEYFILE:", "comment": "Key File", diff --git a/Templates/MSBuild/FlagTables/v140_CSharp.json b/Templates/MSBuild/FlagTables/v140_CSharp.json index 5989aea1e..9f21d9a27 100644 --- a/Templates/MSBuild/FlagTables/v140_CSharp.json +++ b/Templates/MSBuild/FlagTables/v140_CSharp.json @@ -363,52 +363,13 @@ }, { "name": "LangVersion", - "switch": "langversion:ISO-1", + "switch": "langversion:", "comment": "", - "value": "ISO-1", - "flags": [] - }, - { - "name": "LangVersion", - "switch": "langversion:ISO-2", - "comment": "", - "value": "ISO-2", - "flags": [] - }, - { - "name": "LangVersion", - "switch": "langversion:3", - "comment": "", - "value": "3", - "flags": [] - }, - { - "name": "LangVersion", - "switch": "langversion:4", - "comment": "", - "value": "4", - "flags": [] - }, - { - "name": "LangVersion", - "switch": "langversion:5", - "comment": "", - "value": "5", - "flags": [] - }, - { - "name": "LangVersion", - "switch": "langversion:6", - "comment": "", - "value": "6", - "flags": [] - }, - { - "name": "LangVersion", - "switch": "langversion:default", - "comment": "", - "value": "default", - "flags": [] + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] }, { "name": "DelaySign", diff --git a/Templates/MSBuild/FlagTables/v140_Link.json b/Templates/MSBuild/FlagTables/v140_Link.json index 3fb072c50..7e293b140 100644 --- a/Templates/MSBuild/FlagTables/v140_Link.json +++ b/Templates/MSBuild/FlagTables/v140_Link.json @@ -1269,15 +1269,6 @@ ] }, { - "name": "MergeSections", - "switch": "MERGE:", - "comment": "Merge Sections", - "value": "", - "flags": [ - "UserValue" - ] - }, - { "name": "LinkKeyFile", "switch": "KEYFILE:", "comment": "Key File", diff --git a/Templates/MSBuild/FlagTables/v141_CL.json b/Templates/MSBuild/FlagTables/v141_CL.json index 01fafe48d..5b18e32ea 100644 --- a/Templates/MSBuild/FlagTables/v141_CL.json +++ b/Templates/MSBuild/FlagTables/v141_CL.json @@ -421,8 +421,29 @@ }, { "name": "SpectreMitigation", + "switch": "Qspectre-load-cf", + "comment": "All Control Flow Loads", + "value": "SpectreLoadCF", + "flags": [] + }, + { + "name": "SpectreMitigation", + "switch": "Qspectre-load", + "comment": "All Loads", + "value": "SpectreLoad", + "flags": [] + }, + { + "name": "SpectreMitigation", + "switch": "Qspectre-", + "comment": "Disabled", + "value": "false", + "flags": [] + }, + { + "name": "SpectreMitigation", "switch": "Qspectre", - "comment": "Spectre mitigations", + "comment": "Enabled", "value": "Spectre", "flags": [] }, @@ -589,6 +610,20 @@ "flags": [] }, { + "name": "SupportJustMyCode", + "switch": "JMC-", + "comment": "", + "value": "false", + "flags": [] + }, + { + "name": "SupportJustMyCode", + "switch": "JMC", + "comment": "", + "value": "true", + "flags": [] + }, + { "name": "CompileAsWinRT", "switch": "ZW", "comment": "Consume Windows Runtime Extension", @@ -812,7 +847,7 @@ { "name": "ConformanceMode", "switch": "permissive-", - "comment": "Conformance mode enabled", + "comment": "Conformance mode", "value": "true", "flags": [] }, @@ -1250,19 +1285,5 @@ "comment": "C++14 (GNU Dialect)", "value": "gnu++1y", "flags": [] - }, - { - "name": "SupportJustMyCode", - "switch": "JMC-", - "comment": "", - "value": "false", - "flags": [] - }, - { - "name": "SupportJustMyCode", - "switch": "JMC", - "comment": "", - "value": "true", - "flags": [] } ] diff --git a/Templates/MSBuild/FlagTables/v141_CSharp.json b/Templates/MSBuild/FlagTables/v141_CSharp.json index 5989aea1e..9f21d9a27 100644 --- a/Templates/MSBuild/FlagTables/v141_CSharp.json +++ b/Templates/MSBuild/FlagTables/v141_CSharp.json @@ -363,52 +363,13 @@ }, { "name": "LangVersion", - "switch": "langversion:ISO-1", + "switch": "langversion:", "comment": "", - "value": "ISO-1", - "flags": [] - }, - { - "name": "LangVersion", - "switch": "langversion:ISO-2", - "comment": "", - "value": "ISO-2", - "flags": [] - }, - { - "name": "LangVersion", - "switch": "langversion:3", - "comment": "", - "value": "3", - "flags": [] - }, - { - "name": "LangVersion", - "switch": "langversion:4", - "comment": "", - "value": "4", - "flags": [] - }, - { - "name": "LangVersion", - "switch": "langversion:5", - "comment": "", - "value": "5", - "flags": [] - }, - { - "name": "LangVersion", - "switch": "langversion:6", - "comment": "", - "value": "6", - "flags": [] - }, - { - "name": "LangVersion", - "switch": "langversion:default", - "comment": "", - "value": "default", - "flags": [] + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] }, { "name": "DelaySign", diff --git a/Templates/MSBuild/FlagTables/v141_Link.json b/Templates/MSBuild/FlagTables/v141_Link.json index 66ee76fcb..e311240b6 100644 --- a/Templates/MSBuild/FlagTables/v141_Link.json +++ b/Templates/MSBuild/FlagTables/v141_Link.json @@ -1276,15 +1276,6 @@ ] }, { - "name": "MergeSections", - "switch": "MERGE:", - "comment": "Merge Sections", - "value": "", - "flags": [ - "UserValue" - ] - }, - { "name": "LinkKeyFile", "switch": "KEYFILE:", "comment": "Key File", diff --git a/Templates/MSBuild/FlagTables/v142_CL.json b/Templates/MSBuild/FlagTables/v142_CL.json index 3305e5643..49776d0fe 100644 --- a/Templates/MSBuild/FlagTables/v142_CL.json +++ b/Templates/MSBuild/FlagTables/v142_CL.json @@ -386,6 +386,13 @@ }, { "name": "EnableEnhancedInstructionSet", + "switch": "arch:AVX512", + "comment": "Advanced Vector Extensions 512", + "value": "AdvancedVectorExtensions512", + "flags": [] + }, + { + "name": "EnableEnhancedInstructionSet", "switch": "arch:IA32", "comment": "No Enhanced Instructions", "value": "NoExtensions", @@ -421,19 +428,47 @@ }, { "name": "SpectreMitigation", + "switch": "Qspectre-load-cf", + "comment": "All Control Flow Loads", + "value": "SpectreLoadCF", + "flags": [] + }, + { + "name": "SpectreMitigation", + "switch": "Qspectre-load", + "comment": "All Loads", + "value": "SpectreLoad", + "flags": [] + }, + { + "name": "SpectreMitigation", "switch": "Qspectre-", - "comment": "Spectre mitigations disabled", + "comment": "Disabled", "value": "false", "flags": [] }, { "name": "SpectreMitigation", "switch": "Qspectre", - "comment": "Spectre mitigations enabled", + "comment": "Enabled", "value": "Spectre", "flags": [] }, { + "name": "ConformanceMode", + "switch": "permissive-", + "comment": "Yes", + "value": "true", + "flags": [] + }, + { + "name": "ConformanceMode", + "switch": "permissive", + "comment": "No", + "value": "false", + "flags": [] + }, + { "name": "LanguageStandard", "switch": "std:c++14", "comment": "ISO C++14 Standard", @@ -442,6 +477,13 @@ }, { "name": "LanguageStandard", + "switch": "std:c++20", + "comment": "ISO C++20 Standard", + "value": "stdcpp20", + "flags": [] + }, + { + "name": "LanguageStandard", "switch": "std:c++17", "comment": "ISO C++17 Standard", "value": "stdcpp17", @@ -537,6 +579,7 @@ "switch": "external:W0", "comment": "Turn Off All Warnings", "value": "TurnOffAllWarnings", + "vsmin": "16.10.31321.278", "flags": [] }, { @@ -544,6 +587,7 @@ "switch": "external:W1", "comment": "Level1", "value": "Level1", + "vsmin": "16.10.31321.278", "flags": [] }, { @@ -551,6 +595,7 @@ "switch": "external:W2", "comment": "Level2", "value": "Level2", + "vsmin": "16.10.31321.278", "flags": [] }, { @@ -558,6 +603,7 @@ "switch": "external:W3", "comment": "Level3", "value": "Level3", + "vsmin": "16.10.31321.278", "flags": [] }, { @@ -565,6 +611,7 @@ "switch": "external:W4", "comment": "Level4", "value": "Level4", + "vsmin": "16.10.31321.278", "flags": [] }, { @@ -617,6 +664,27 @@ "flags": [] }, { + "name": "CompileAs", + "switch": "interface", + "comment": "Compile as C++ Module Code", + "value": "CompileAsCppModule", + "flags": [] + }, + { + "name": "CompileAs", + "switch": "internalPartition", + "comment": "Compile as C++ Module Internal Partition", + "value": "CompileAsCppModuleInternalPartition", + "flags": [] + }, + { + "name": "CompileAs", + "switch": "exportHeader", + "comment": "Compile as C++ Header Unit", + "value": "CompileAsHeaderUnit", + "flags": [] + }, + { "name": "ErrorReporting", "switch": "errorReport:none", "comment": "Do Not Send Report", @@ -719,6 +787,13 @@ ] }, { + "name": "ForceSynchronousPDBWrites", + "switch": "FS", + "comment": "Force Synchronous PDB Writes", + "value": "true", + "flags": [] + }, + { "name": "IntrinsicFunctions", "switch": "Oi", "comment": "Enable Intrinsic Functions", @@ -789,6 +864,20 @@ "flags": [] }, { + "name": "UseStandardPreprocessor", + "switch": "Zc:preprocessor-", + "comment": "Use Standard Conforming Preprocessor", + "value": "false", + "flags": [] + }, + { + "name": "UseStandardPreprocessor", + "switch": "Zc:preprocessor", + "comment": "Use Standard Conforming Preprocessor", + "value": "true", + "flags": [] + }, + { "name": "StringPooling", "switch": "GF-", "comment": "Enable String Pooling", @@ -873,27 +962,48 @@ "flags": [] }, { - "name": "DisableLanguageExtensions", - "switch": "Za", - "comment": "Disable Language Extensions", + "name": "IntelJCCErratum", + "switch": "QIntel-jcc-erratum", + "comment": "Enable Intel JCC Erratum Mitigation", "value": "true", "flags": [] }, { - "name": "ConformanceMode", - "switch": "permissive-", - "comment": "Conformance mode enabled", + "name": "GuardEHContMetadata", + "switch": "guard:ehcont-", + "comment": "Enable EH Continuation Metadata", + "value": "false", + "flags": [] + }, + { + "name": "GuardEHContMetadata", + "switch": "guard:ehcont", + "comment": "Enable EH Continuation Metadata", "value": "true", "flags": [] }, { - "name": "ConformanceMode", - "switch": "permissive", - "comment": "Conformance mode disabled", + "name": "GuardSignedReturns", + "switch": "guard:signret-", + "comment": "Enable Signed Returns", "value": "false", "flags": [] }, { + "name": "GuardSignedReturns", + "switch": "guard:signret", + "comment": "Enable Signed Returns", + "value": "true", + "flags": [] + }, + { + "name": "DisableLanguageExtensions", + "switch": "Za", + "comment": "Disable Language Extensions", + "value": "true", + "flags": [] + }, + { "name": "TreatWChar_tAsBuiltInType", "switch": "Zc:wchar_t-", "comment": "Treat WChar_t As Built in Type", @@ -980,7 +1090,7 @@ { "name": "EnableModules", "switch": "experimental:module", - "comment": "Enable C++ Modules (experimental)", + "comment": "Enable Experimental C++ Standard Library Modules", "value": "true", "flags": [] }, @@ -999,6 +1109,15 @@ "flags": [] }, { + "name": "GenerateModuleDependencies", + "switch": "sourceDependencies:directives", + "comment": "Generate Module Dependenices File", + "value": "true", + "flags": [ + "Continue" + ] + }, + { "name": "GenerateXMLDocumentationFiles", "switch": "doc", "comment": "Generate XML Documentation Files", @@ -1010,6 +1129,15 @@ ] }, { + "name": "GenerateSourceDependencies", + "switch": "sourceDependencies", + "comment": "Generate Source Dependencies File", + "value": "true", + "flags": [ + "Continue" + ] + }, + { "name": "BrowseInformation", "switch": "FR", "comment": "Enable Browse Information", @@ -1021,6 +1149,29 @@ ] }, { + "name": "TreatAngleIncludeAsExternal", + "switch": "external:anglebrackets", + "comment": "Treat Files Included with Angle Brackets as External", + "value": "true", + "vsmin": "16.10.31321.278", + "flags": [] + }, + { + "name": "ExternalTemplatesDiagnostics", + "switch": "external:templates-", + "comment": "Template Diagnostics in External Headers", + "value": "true", + "vsmin": "16.10.31321.278", + "flags": [] + }, + { + "name": "DisableAnalyzeExternal", + "switch": "analyze:external-", + "comment": "Disable Code Analysis for External Headers", + "value": "true", + "flags": [] + }, + { "name": "ShowIncludes", "switch": "showIncludes", "comment": "Show Includes", @@ -1076,6 +1227,36 @@ ] }, { + "name": "AdditionalBMIDirectories", + "switch": "ifcSearchDir", + "comment": "Additional BMI Directories", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "AdditionalModuleDependencies", + "switch": "reference", + "comment": "Additional Module Dependencies", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "AdditionalHeaderUnitDependencies", + "switch": "headerUnit", + "comment": "Additional Header Unit Dependencies", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { "name": "PreprocessorDefinitions", "switch": "D", "comment": "Preprocessor Definitions", @@ -1096,6 +1277,27 @@ ] }, { + "name": "StdIfcDirectory", + "switch": "stdIfcDir", + "comment": "", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "ExternalDirectoriesEnv", + "switch": "external:env:", + "comment": "External Directories Environment Variables", + "value": "", + "vsmin": "16.10.31321.278", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { "name": "DisableSpecificWarnings", "switch": "wd", "comment": "Disable Specific Warnings", @@ -1211,6 +1413,24 @@ ] }, { + "name": "ModuleOutputFile", + "switch": "ifcOutput", + "comment": "Module Output File Name", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "ModuleDependenciesFile", + "switch": "sourceDependencies:directives", + "comment": "Module Dependencies File Name", + "value": "", + "flags": [ + "UserFollowing" + ] + }, + { "name": "ObjectFileName", "switch": "Fo", "comment": "Object File Name", @@ -1239,6 +1459,15 @@ ] }, { + "name": "SourceDependenciesFile", + "switch": "sourceDependencies", + "comment": "Source Dependencies File Name", + "value": "", + "flags": [ + "UserFollowing" + ] + }, + { "name": "BrowseInformationFile", "switch": "FR", "comment": "Browse Information File", diff --git a/Templates/MSBuild/FlagTables/v142_CSharp.json b/Templates/MSBuild/FlagTables/v142_CSharp.json index 4dcea9de3..ae1bd47bf 100644 --- a/Templates/MSBuild/FlagTables/v142_CSharp.json +++ b/Templates/MSBuild/FlagTables/v142_CSharp.json @@ -381,52 +381,13 @@ }, { "name": "LangVersion", - "switch": "langversion:ISO-1", + "switch": "langversion:", "comment": "", - "value": "ISO-1", - "flags": [] - }, - { - "name": "LangVersion", - "switch": "langversion:ISO-2", - "comment": "", - "value": "ISO-2", - "flags": [] - }, - { - "name": "LangVersion", - "switch": "langversion:3", - "comment": "", - "value": "3", - "flags": [] - }, - { - "name": "LangVersion", - "switch": "langversion:4", - "comment": "", - "value": "4", - "flags": [] - }, - { - "name": "LangVersion", - "switch": "langversion:5", - "comment": "", - "value": "5", - "flags": [] - }, - { - "name": "LangVersion", - "switch": "langversion:6", - "comment": "", - "value": "6", - "flags": [] - }, - { - "name": "LangVersion", - "switch": "langversion:default", - "comment": "", - "value": "default", - "flags": [] + "value": "", + "flags": [ + "UserValue", + "UserRequired" + ] }, { "name": "DelaySign", diff --git a/Templates/MSBuild/FlagTables/v142_Link.json b/Templates/MSBuild/FlagTables/v142_Link.json index 110dcc2b1..d5fc2e4d7 100644 --- a/Templates/MSBuild/FlagTables/v142_Link.json +++ b/Templates/MSBuild/FlagTables/v142_Link.json @@ -1283,15 +1283,6 @@ ] }, { - "name": "MergeSections", - "switch": "MERGE:", - "comment": "Merge Sections", - "value": "", - "flags": [ - "UserValue" - ] - }, - { "name": "LinkKeyFile", "switch": "KEYFILE:", "comment": "Key File", diff --git a/Templates/TestDriver.cxx.in b/Templates/TestDriver.cxx.in index 3e47d6a0d..61134172e 100644 --- a/Templates/TestDriver.cxx.in +++ b/Templates/TestDriver.cxx.in @@ -2,6 +2,7 @@ #include <stdio.h> /* NOLINT */ #include <stdlib.h> /* NOLINT */ #include <string.h> /* NOLINT */ +#include <time.h> #if defined(_MSC_VER) #pragma warning(disable : 4996) /* deprecation */ @@ -62,11 +63,23 @@ static char* lowercase(const char* string) return new_string; } +int isTestSkipped(const char *name, int n_skipped_tests, char *skipped_tests[]) { + int i; + for (i = 0; i < n_skipped_tests; i++) { + if (strcmp(name, skipped_tests[i]) == 0) { + return 1; + } + } + + return 0; +} + int main(int ac, char* av[]) { int i; int testNum = 0; int partial_match; + int run_all; char *arg; int testToRun = -1; @@ -95,15 +108,45 @@ int main(int ac, char* av[]) av++; } partial_match = 0; + run_all = 0; arg = CM_NULL; /* NOLINT */ - /* If partial match is requested. */ + /* If partial match or running all tests are requested. */ if (testToRun == -1 && ac > 1) { partial_match = (strcmp(av[1], "-R") == 0) ? 1 : 0; + run_all = (strcmp(av[1], "-A") == 0) ? 1 : 0; } if (partial_match != 0 && ac < 3) { printf("-R needs an additional parameter.\n"); return -1; } + if (run_all == 1) { + clock_t t; + int status = 0; + const char* status_message = NULL; + printf("TAP version 13\n"); + printf("1..%d\n", NumTests); + for (i = 0; i < NumTests; ++i) { + const char *name = cmakeGeneratedFunctionMapEntries[i].name; + if (ac > 2) { + if (isTestSkipped(name, ac - 2, av + 2) == 1) { + printf("ok %d %s # SKIP\n", i + 1, name); + continue; + } + } + t = clock(); + status = (*cmakeGeneratedFunctionMapEntries[i].func)(ac, av); + t = clock() - t; + status_message = (status == -1) ? "not ok" : "ok"; + { + double time_taken = ((double)t) / CLOCKS_PER_SEC; + printf("%s %d %s # %f\n", status_message, i + 1, name, time_taken); + } + } + printf("All tests finished.\n"); + + return 0; + } + if (testToRun == -1) { arg = lowercase(av[1 + partial_match]); } |