diff options
author | Brad King <brad.king@kitware.com> | 2014-08-13 14:02:12 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2014-08-13 18:47:58 (GMT) |
commit | 1d662e4806364172ebf76099c2d016efd414c74a (patch) | |
tree | 1383618fe11eea3c9632d66370e5c766b7a3c2e9 /Source | |
parent | 4f6940df8c69053b4451056ebf3ebdc8f97bf356 (diff) | |
download | CMake-1d662e4806364172ebf76099c2d016efd414c74a.zip CMake-1d662e4806364172ebf76099c2d016efd414c74a.tar.gz CMake-1d662e4806364172ebf76099c2d016efd414c74a.tar.bz2 |
VS: Generate MASM flag tables from MSBuild tool files
Run cmparseMSBuildXML.py on masm.xml to generate our flag tables:
python cmparseMSBuildXML.py -x ".../MSBuild/Microsoft.Cpp/v4.0/BuildCustomizations/masm.xml" > cmVS10MASMFlagTable.h
python cmparseMSBuildXML.py -x ".../MSBuild/Microsoft.Cpp/v4.0/V110/BuildCustomizations/masm.xml" > cmVS11MASMFlagTable.h
python cmparseMSBuildXML.py -x ".../MSBuild/Microsoft.Cpp/v4.0/V120/BuildCustomizations/masm.xml" > cmVS12MASMFlagTable.h
python cmparseMSBuildXML.py -x ".../MSBuild/Microsoft.Cpp/v4.0/V140/BuildCustomizations/masm.xml" > cmVS14MASMFlagTable.h
Fix up the declaration names at the top of each file.
Diffstat (limited to 'Source')
-rw-r--r-- | Source/cmVS10MASMFlagTable.h | 96 | ||||
-rw-r--r-- | Source/cmVS11MASMFlagTable.h | 96 | ||||
-rw-r--r-- | Source/cmVS12MASMFlagTable.h | 96 | ||||
-rw-r--r-- | Source/cmVS14MASMFlagTable.h | 96 |
4 files changed, 384 insertions, 0 deletions
diff --git a/Source/cmVS10MASMFlagTable.h b/Source/cmVS10MASMFlagTable.h new file mode 100644 index 0000000..19d402d --- /dev/null +++ b/Source/cmVS10MASMFlagTable.h @@ -0,0 +1,96 @@ +static cmVS7FlagTable cmVS10MASMFlagTable[] = +{ + + //Enum Properties + {"PreserveIdentifierCase", "", + "Default", "0", 0}, + {"PreserveIdentifierCase", "/Cp", + "Preserves Identifier Case (/Cp)", "1", 0}, + {"PreserveIdentifierCase", "/Cu", + "Maps all identifiers to upper case. (/Cu)", "2", 0}, + {"PreserveIdentifierCase", "/Cx", + "Preserves case in public and extern symbols. (/Cx)", "3", 0}, + + {"WarningLevel", "/W0", + "Warning Level 0 (/W0)", "0", 0}, + {"WarningLevel", "/W1", + "Warning Level 1 (/W1)", "1", 0}, + {"WarningLevel", "/W2", + "Warning Level 2 (/W2)", "2", 0}, + {"WarningLevel", "/W3", + "Warning Level 3 (/W3)", "3", 0}, + + {"PackAlignmentBoundary", "", + "Default", "0", 0}, + {"PackAlignmentBoundary", "/Zp1", + "One Byte Boundary (/Zp1)", "1", 0}, + {"PackAlignmentBoundary", "/Zp2", + "Two Byte Boundary (/Zp2)", "2", 0}, + {"PackAlignmentBoundary", "/Zp4", + "Four Byte Boundary (/Zp4)", "3", 0}, + {"PackAlignmentBoundary", "/Zp8", + "Eight Byte Boundary (/Zp8)", "4", 0}, + {"PackAlignmentBoundary", "/Zp16", + "Sixteen Byte Boundary (/Zp16)", "5", 0}, + + {"CallingConvention", "", + "Default", "0", 0}, + {"CallingConvention", "/Gd", + "Use C-style Calling Convention (/Gd)", "1", 0}, + {"CallingConvention", "/Gz", + "Use stdcall Calling Convention (/Gz)", "2", 0}, + {"CallingConvention", "/Gc", + "Use Pascal Calling Convention (/Gc)", "3", 0}, + + {"ErrorReporting", "/errorReport:prompt", + "Prompt to send report immediately (/errorReport:prompt)", "0", 0}, + {"ErrorReporting", "/errorReport:queue", + "Prompt to send report at the next logon (/errorReport:queue)", "1", 0}, + {"ErrorReporting", "/errorReport:send", + "Automatically send report (/errorReport:send)", "2", 0}, + {"ErrorReporting", "/errorReport:none", + "Do not send report (/errorReport:none)", "3", 0}, + + + //Bool Properties + {"NoLogo", "/nologo", "", "true", 0}, + {"GeneratePreprocessedSourceListing", "/EP", "", "true", 0}, + {"ListAllAvailableInformation", "/Sa", "", "true", 0}, + {"UseSafeExceptionHandlers", "/safeseh", "", "true", 0}, + {"AddFirstPassListing", "/Sf", "", "true", 0}, + {"EnableAssemblyGeneratedCodeListing", "/Sg", "", "true", 0}, + {"DisableSymbolTable", "/Sn", "", "true", 0}, + {"EnableFalseConditionalsInListing", "/Sx", "", "true", 0}, + {"TreatWarningsAsErrors", "/WX", "", "true", 0}, + {"MakeAllSymbolsPublic", "/Zf", "", "true", 0}, + {"GenerateDebugInformation", "/Zi", "", "true", 0}, + {"EnableMASM51Compatibility", "/Zm", "", "true", 0}, + {"PerformSyntaxCheckOnly", "/Zs", "", "true", 0}, + + //Bool Properties With Argument + + //String List Properties + {"PreprocessorDefinitions", "/D"[value]"", + "Preprocessor Definitions", + "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable}, + {"IncludePaths", "/I "[value]"", + "Include Paths", + "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable}, + {"BrowseFile", "/FR"[value]"", + "Generate Browse Information File", + "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable}, + // Skip [AdditionalDependencies] - no command line Switch. + + //String Properties + // Skip [Inputs] - no command line Switch. + {"ObjectFileName", "/Fo"[value]"", + "Object File Name", + "", cmVS7FlagTable::UserValue}, + {"AssembledCodeListingFile", "/Fl"[value]"", + "Assembled Code Listing File", + "", cmVS7FlagTable::UserValue}, + // Skip [CommandLineTemplate] - no command line Switch. + // Skip [ExecutionDescription] - no command line Switch. + // Skip [AdditionalOptions] - no command line Switch. + {0,0,0,0,0} +}; diff --git a/Source/cmVS11MASMFlagTable.h b/Source/cmVS11MASMFlagTable.h new file mode 100644 index 0000000..97cf03c --- /dev/null +++ b/Source/cmVS11MASMFlagTable.h @@ -0,0 +1,96 @@ +static cmVS7FlagTable cmVS11MASMFlagTable[] = +{ + + //Enum Properties + {"PreserveIdentifierCase", "", + "Default", "0", 0}, + {"PreserveIdentifierCase", "/Cp", + "Preserves Identifier Case (/Cp)", "1", 0}, + {"PreserveIdentifierCase", "/Cu", + "Maps all identifiers to upper case. (/Cu)", "2", 0}, + {"PreserveIdentifierCase", "/Cx", + "Preserves case in public and extern symbols. (/Cx)", "3", 0}, + + {"WarningLevel", "/W0", + "Warning Level 0 (/W0)", "0", 0}, + {"WarningLevel", "/W1", + "Warning Level 1 (/W1)", "1", 0}, + {"WarningLevel", "/W2", + "Warning Level 2 (/W2)", "2", 0}, + {"WarningLevel", "/W3", + "Warning Level 3 (/W3)", "3", 0}, + + {"PackAlignmentBoundary", "", + "Default", "0", 0}, + {"PackAlignmentBoundary", "/Zp1", + "One Byte Boundary (/Zp1)", "1", 0}, + {"PackAlignmentBoundary", "/Zp2", + "Two Byte Boundary (/Zp2)", "2", 0}, + {"PackAlignmentBoundary", "/Zp4", + "Four Byte Boundary (/Zp4)", "3", 0}, + {"PackAlignmentBoundary", "/Zp8", + "Eight Byte Boundary (/Zp8)", "4", 0}, + {"PackAlignmentBoundary", "/Zp16", + "Sixteen Byte Boundary (/Zp16)", "5", 0}, + + {"CallingConvention", "", + "Default", "0", 0}, + {"CallingConvention", "/Gd", + "Use C-style Calling Convention (/Gd)", "1", 0}, + {"CallingConvention", "/Gz", + "Use stdcall Calling Convention (/Gz)", "2", 0}, + {"CallingConvention", "/Gc", + "Use Pascal Calling Convention (/Gc)", "3", 0}, + + {"ErrorReporting", "/errorReport:prompt", + "Prompt to send report immediately (/errorReport:prompt)", "0", 0}, + {"ErrorReporting", "/errorReport:queue", + "Prompt to send report at the next logon (/errorReport:queue)", "1", 0}, + {"ErrorReporting", "/errorReport:send", + "Automatically send report (/errorReport:send)", "2", 0}, + {"ErrorReporting", "/errorReport:none", + "Do not send report (/errorReport:none)", "3", 0}, + + + //Bool Properties + {"NoLogo", "/nologo", "", "true", 0}, + {"GeneratePreprocessedSourceListing", "/EP", "", "true", 0}, + {"ListAllAvailableInformation", "/Sa", "", "true", 0}, + {"UseSafeExceptionHandlers", "/safeseh", "", "true", 0}, + {"AddFirstPassListing", "/Sf", "", "true", 0}, + {"EnableAssemblyGeneratedCodeListing", "/Sg", "", "true", 0}, + {"DisableSymbolTable", "/Sn", "", "true", 0}, + {"EnableFalseConditionalsInListing", "/Sx", "", "true", 0}, + {"TreatWarningsAsErrors", "/WX", "", "true", 0}, + {"MakeAllSymbolsPublic", "/Zf", "", "true", 0}, + {"GenerateDebugInformation", "/Zi", "", "true", 0}, + {"EnableMASM51Compatibility", "/Zm", "", "true", 0}, + {"PerformSyntaxCheckOnly", "/Zs", "", "true", 0}, + + //Bool Properties With Argument + + //String List Properties + {"PreprocessorDefinitions", "/D"[value]"", + "Preprocessor Definitions", + "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable}, + {"IncludePaths", "/I "[value]"", + "Include Paths", + "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable}, + {"BrowseFile", "/FR"[value]"", + "Generate Browse Information File", + "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable}, + // Skip [AdditionalDependencies] - no command line Switch. + + //String Properties + // Skip [Inputs] - no command line Switch. + {"ObjectFileName", "/Fo"[value]"", + "Object File Name", + "", cmVS7FlagTable::UserValue}, + {"AssembledCodeListingFile", "/Fl"[value]"", + "Assembled Code Listing File", + "", cmVS7FlagTable::UserValue}, + // Skip [CommandLineTemplate] - no command line Switch. + // Skip [ExecutionDescription] - no command line Switch. + // Skip [AdditionalOptions] - no command line Switch. + {0,0,0,0,0} +}; diff --git a/Source/cmVS12MASMFlagTable.h b/Source/cmVS12MASMFlagTable.h new file mode 100644 index 0000000..ecd5d33 --- /dev/null +++ b/Source/cmVS12MASMFlagTable.h @@ -0,0 +1,96 @@ +static cmVS7FlagTable cmVS12MASMFlagTable[] = +{ + + //Enum Properties + {"PreserveIdentifierCase", "", + "Default", "0", 0}, + {"PreserveIdentifierCase", "/Cp", + "Preserves Identifier Case (/Cp)", "1", 0}, + {"PreserveIdentifierCase", "/Cu", + "Maps all identifiers to upper case. (/Cu)", "2", 0}, + {"PreserveIdentifierCase", "/Cx", + "Preserves case in public and extern symbols. (/Cx)", "3", 0}, + + {"WarningLevel", "/W0", + "Warning Level 0 (/W0)", "0", 0}, + {"WarningLevel", "/W1", + "Warning Level 1 (/W1)", "1", 0}, + {"WarningLevel", "/W2", + "Warning Level 2 (/W2)", "2", 0}, + {"WarningLevel", "/W3", + "Warning Level 3 (/W3)", "3", 0}, + + {"PackAlignmentBoundary", "", + "Default", "0", 0}, + {"PackAlignmentBoundary", "/Zp1", + "One Byte Boundary (/Zp1)", "1", 0}, + {"PackAlignmentBoundary", "/Zp2", + "Two Byte Boundary (/Zp2)", "2", 0}, + {"PackAlignmentBoundary", "/Zp4", + "Four Byte Boundary (/Zp4)", "3", 0}, + {"PackAlignmentBoundary", "/Zp8", + "Eight Byte Boundary (/Zp8)", "4", 0}, + {"PackAlignmentBoundary", "/Zp16", + "Sixteen Byte Boundary (/Zp16)", "5", 0}, + + {"CallingConvention", "", + "Default", "0", 0}, + {"CallingConvention", "/Gd", + "Use C-style Calling Convention (/Gd)", "1", 0}, + {"CallingConvention", "/Gz", + "Use stdcall Calling Convention (/Gz)", "2", 0}, + {"CallingConvention", "/Gc", + "Use Pascal Calling Convention (/Gc)", "3", 0}, + + {"ErrorReporting", "/errorReport:prompt", + "Prompt to send report immediately (/errorReport:prompt)", "0", 0}, + {"ErrorReporting", "/errorReport:queue", + "Prompt to send report at the next logon (/errorReport:queue)", "1", 0}, + {"ErrorReporting", "/errorReport:send", + "Automatically send report (/errorReport:send)", "2", 0}, + {"ErrorReporting", "/errorReport:none", + "Do not send report (/errorReport:none)", "3", 0}, + + + //Bool Properties + {"NoLogo", "/nologo", "", "true", 0}, + {"GeneratePreprocessedSourceListing", "/EP", "", "true", 0}, + {"ListAllAvailableInformation", "/Sa", "", "true", 0}, + {"UseSafeExceptionHandlers", "/safeseh", "", "true", 0}, + {"AddFirstPassListing", "/Sf", "", "true", 0}, + {"EnableAssemblyGeneratedCodeListing", "/Sg", "", "true", 0}, + {"DisableSymbolTable", "/Sn", "", "true", 0}, + {"EnableFalseConditionalsInListing", "/Sx", "", "true", 0}, + {"TreatWarningsAsErrors", "/WX", "", "true", 0}, + {"MakeAllSymbolsPublic", "/Zf", "", "true", 0}, + {"GenerateDebugInformation", "/Zi", "", "true", 0}, + {"EnableMASM51Compatibility", "/Zm", "", "true", 0}, + {"PerformSyntaxCheckOnly", "/Zs", "", "true", 0}, + + //Bool Properties With Argument + + //String List Properties + {"PreprocessorDefinitions", "/D"[value]"", + "Preprocessor Definitions", + "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable}, + {"IncludePaths", "/I "[value]"", + "Include Paths", + "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable}, + {"BrowseFile", "/FR"[value]"", + "Generate Browse Information File", + "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable}, + // Skip [AdditionalDependencies] - no command line Switch. + + //String Properties + // Skip [Inputs] - no command line Switch. + {"ObjectFileName", "/Fo"[value]"", + "Object File Name", + "", cmVS7FlagTable::UserValue}, + {"AssembledCodeListingFile", "/Fl"[value]"", + "Assembled Code Listing File", + "", cmVS7FlagTable::UserValue}, + // Skip [CommandLineTemplate] - no command line Switch. + // Skip [ExecutionDescription] - no command line Switch. + // Skip [AdditionalOptions] - no command line Switch. + {0,0,0,0,0} +}; diff --git a/Source/cmVS14MASMFlagTable.h b/Source/cmVS14MASMFlagTable.h new file mode 100644 index 0000000..ccfde94 --- /dev/null +++ b/Source/cmVS14MASMFlagTable.h @@ -0,0 +1,96 @@ +static cmVS7FlagTable cmVS14MASMFlagTable[] = +{ + + //Enum Properties + {"PreserveIdentifierCase", "", + "Default", "0", 0}, + {"PreserveIdentifierCase", "/Cp", + "Preserves Identifier Case (/Cp)", "1", 0}, + {"PreserveIdentifierCase", "/Cu", + "Maps all identifiers to upper case. (/Cu)", "2", 0}, + {"PreserveIdentifierCase", "/Cx", + "Preserves case in public and extern symbols. (/Cx)", "3", 0}, + + {"WarningLevel", "/W0", + "Warning Level 0 (/W0)", "0", 0}, + {"WarningLevel", "/W1", + "Warning Level 1 (/W1)", "1", 0}, + {"WarningLevel", "/W2", + "Warning Level 2 (/W2)", "2", 0}, + {"WarningLevel", "/W3", + "Warning Level 3 (/W3)", "3", 0}, + + {"PackAlignmentBoundary", "", + "Default", "0", 0}, + {"PackAlignmentBoundary", "/Zp1", + "One Byte Boundary (/Zp1)", "1", 0}, + {"PackAlignmentBoundary", "/Zp2", + "Two Byte Boundary (/Zp2)", "2", 0}, + {"PackAlignmentBoundary", "/Zp4", + "Four Byte Boundary (/Zp4)", "3", 0}, + {"PackAlignmentBoundary", "/Zp8", + "Eight Byte Boundary (/Zp8)", "4", 0}, + {"PackAlignmentBoundary", "/Zp16", + "Sixteen Byte Boundary (/Zp16)", "5", 0}, + + {"CallingConvention", "", + "Default", "0", 0}, + {"CallingConvention", "/Gd", + "Use C-style Calling Convention (/Gd)", "1", 0}, + {"CallingConvention", "/Gz", + "Use stdcall Calling Convention (/Gz)", "2", 0}, + {"CallingConvention", "/Gc", + "Use Pascal Calling Convention (/Gc)", "3", 0}, + + {"ErrorReporting", "/errorReport:prompt", + "Prompt to send report immediately (/errorReport:prompt)", "0", 0}, + {"ErrorReporting", "/errorReport:queue", + "Prompt to send report at the next logon (/errorReport:queue)", "1", 0}, + {"ErrorReporting", "/errorReport:send", + "Automatically send report (/errorReport:send)", "2", 0}, + {"ErrorReporting", "/errorReport:none", + "Do not send report (/errorReport:none)", "3", 0}, + + + //Bool Properties + {"NoLogo", "/nologo", "", "true", 0}, + {"GeneratePreprocessedSourceListing", "/EP", "", "true", 0}, + {"ListAllAvailableInformation", "/Sa", "", "true", 0}, + {"UseSafeExceptionHandlers", "/safeseh", "", "true", 0}, + {"AddFirstPassListing", "/Sf", "", "true", 0}, + {"EnableAssemblyGeneratedCodeListing", "/Sg", "", "true", 0}, + {"DisableSymbolTable", "/Sn", "", "true", 0}, + {"EnableFalseConditionalsInListing", "/Sx", "", "true", 0}, + {"TreatWarningsAsErrors", "/WX", "", "true", 0}, + {"MakeAllSymbolsPublic", "/Zf", "", "true", 0}, + {"GenerateDebugInformation", "/Zi", "", "true", 0}, + {"EnableMASM51Compatibility", "/Zm", "", "true", 0}, + {"PerformSyntaxCheckOnly", "/Zs", "", "true", 0}, + + //Bool Properties With Argument + + //String List Properties + {"PreprocessorDefinitions", "/D"[value]"", + "Preprocessor Definitions", + "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable}, + {"IncludePaths", "/I "[value]"", + "Include Paths", + "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable}, + {"BrowseFile", "/FR"[value]"", + "Generate Browse Information File", + "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable}, + // Skip [AdditionalDependencies] - no command line Switch. + + //String Properties + // Skip [Inputs] - no command line Switch. + {"ObjectFileName", "/Fo"[value]"", + "Object File Name", + "", cmVS7FlagTable::UserValue}, + {"AssembledCodeListingFile", "/Fl"[value]"", + "Assembled Code Listing File", + "", cmVS7FlagTable::UserValue}, + // Skip [CommandLineTemplate] - no command line Switch. + // Skip [ExecutionDescription] - no command line Switch. + // Skip [AdditionalOptions] - no command line Switch. + {0,0,0,0,0} +}; |