diff options
author | Brad King <brad.king@kitware.com> | 2017-05-05 13:44:54 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2017-05-05 13:45:04 (GMT) |
commit | d90bf11e2fbae39d8fc939ad77c8a8ec2c3a3dce (patch) | |
tree | df95e3d84beda7db5f0e60db35c581c728f63051 /Source | |
parent | 0e967e3b1dd8a705e304b4d94f1556249622d747 (diff) | |
parent | ea6bb8293f50ecc93f42b6ea6525baa0252712a5 (diff) | |
download | CMake-d90bf11e2fbae39d8fc939ad77c8a8ec2c3a3dce.zip CMake-d90bf11e2fbae39d8fc939ad77c8a8ec2c3a3dce.tar.gz CMake-d90bf11e2fbae39d8fc939ad77c8a8ec2c3a3dce.tar.bz2 |
Merge topic 'vs-masm-flags'
ea6bb829 VS: Use tool-specific flag table for COMPILE_FLAGS parsing
da9076e4 VS: Fix MASM flag tables
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !791
Diffstat (limited to 'Source')
-rw-r--r-- | Source/cmVS10MASMFlagTable.h | 76 | ||||
-rw-r--r-- | Source/cmVS11MASMFlagTable.h | 76 | ||||
-rw-r--r-- | Source/cmVS12MASMFlagTable.h | 76 | ||||
-rw-r--r-- | Source/cmVS14MASMFlagTable.h | 76 | ||||
-rw-r--r-- | Source/cmVisualStudio10TargetGenerator.cxx | 17 |
5 files changed, 164 insertions, 157 deletions
diff --git a/Source/cmVS10MASMFlagTable.h b/Source/cmVS10MASMFlagTable.h index 82e5270..0a45245 100644 --- a/Source/cmVS10MASMFlagTable.h +++ b/Source/cmVS10MASMFlagTable.h @@ -2,74 +2,72 @@ static cmVS7FlagTable cmVS10MASMFlagTable[] = { // Enum Properties { "PreserveIdentifierCase", "", "Default", "0", 0 }, - { "PreserveIdentifierCase", "/Cp", "Preserves Identifier Case (/Cp)", "1", + { "PreserveIdentifierCase", "Cp", "Preserves Identifier Case (/Cp)", "1", 0 }, - { "PreserveIdentifierCase", "/Cu", + { "PreserveIdentifierCase", "Cu", "Maps all identifiers to upper case. (/Cu)", "2", 0 }, - { "PreserveIdentifierCase", "/Cx", + { "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 }, + { "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 }, + { "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", + { "CallingConvention", "Gd", "Use C-style Calling Convention (/Gd)", "1", 0 }, - { "CallingConvention", "/Gc", "Use Pascal Calling Convention (/Gc)", "3", + { "CallingConvention", "Gz", "Use stdcall Calling Convention (/Gz)", "2", 0 }, + { "CallingConvention", "Gc", "Use Pascal Calling Convention (/Gc)", "3", 0 }, - { "ErrorReporting", "/errorReport:prompt", + { "ErrorReporting", "errorReport:prompt", "Prompt to send report immediately (/errorReport:prompt)", "0", 0 }, - { "ErrorReporting", "/errorReport:queue", + { "ErrorReporting", "errorReport:queue", "Prompt to send report at the next logon (/errorReport:queue)", "1", 0 }, - { "ErrorReporting", "/errorReport:send", + { "ErrorReporting", "errorReport:send", "Automatically send report (/errorReport:send)", "2", 0 }, - { "ErrorReporting", "/errorReport:none", + { "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 }, + { "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", "Preprocessor Definitions", "", + { "PreprocessorDefinitions", "D", "Preprocessor Definitions", "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "IncludePaths", "/I", "Include Paths", "", + { "IncludePaths", "I", "Include Paths", "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "BrowseFile", "/FR", "Generate Browse Information File", "", + { "BrowseFile", "FR", "Generate Browse Information File", "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, // Skip [AdditionalDependencies] - no command line Switch. // String Properties // Skip [Inputs] - no command line Switch. - { "ObjectFileName", "/Fo", "Object File Name", "", + { "ObjectFileName", "Fo", "Object File Name", "", cmVS7FlagTable::UserValue }, - { "AssembledCodeListingFile", "/Fl", "Assembled Code Listing File", "", + { "AssembledCodeListingFile", "Fl", "Assembled Code Listing File", "", cmVS7FlagTable::UserValue }, // Skip [CommandLineTemplate] - no command line Switch. // Skip [ExecutionDescription] - no command line Switch. diff --git a/Source/cmVS11MASMFlagTable.h b/Source/cmVS11MASMFlagTable.h index 1aca169..fdf8239 100644 --- a/Source/cmVS11MASMFlagTable.h +++ b/Source/cmVS11MASMFlagTable.h @@ -2,74 +2,72 @@ static cmVS7FlagTable cmVS11MASMFlagTable[] = { // Enum Properties { "PreserveIdentifierCase", "", "Default", "0", 0 }, - { "PreserveIdentifierCase", "/Cp", "Preserves Identifier Case (/Cp)", "1", + { "PreserveIdentifierCase", "Cp", "Preserves Identifier Case (/Cp)", "1", 0 }, - { "PreserveIdentifierCase", "/Cu", + { "PreserveIdentifierCase", "Cu", "Maps all identifiers to upper case. (/Cu)", "2", 0 }, - { "PreserveIdentifierCase", "/Cx", + { "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 }, + { "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 }, + { "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", + { "CallingConvention", "Gd", "Use C-style Calling Convention (/Gd)", "1", 0 }, - { "CallingConvention", "/Gc", "Use Pascal Calling Convention (/Gc)", "3", + { "CallingConvention", "Gz", "Use stdcall Calling Convention (/Gz)", "2", 0 }, + { "CallingConvention", "Gc", "Use Pascal Calling Convention (/Gc)", "3", 0 }, - { "ErrorReporting", "/errorReport:prompt", + { "ErrorReporting", "errorReport:prompt", "Prompt to send report immediately (/errorReport:prompt)", "0", 0 }, - { "ErrorReporting", "/errorReport:queue", + { "ErrorReporting", "errorReport:queue", "Prompt to send report at the next logon (/errorReport:queue)", "1", 0 }, - { "ErrorReporting", "/errorReport:send", + { "ErrorReporting", "errorReport:send", "Automatically send report (/errorReport:send)", "2", 0 }, - { "ErrorReporting", "/errorReport:none", + { "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 }, + { "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", "Preprocessor Definitions", "", + { "PreprocessorDefinitions", "D", "Preprocessor Definitions", "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "IncludePaths", "/I", "Include Paths", "", + { "IncludePaths", "I", "Include Paths", "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "BrowseFile", "/FR", "Generate Browse Information File", "", + { "BrowseFile", "FR", "Generate Browse Information File", "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, // Skip [AdditionalDependencies] - no command line Switch. // String Properties // Skip [Inputs] - no command line Switch. - { "ObjectFileName", "/Fo", "Object File Name", "", + { "ObjectFileName", "Fo", "Object File Name", "", cmVS7FlagTable::UserValue }, - { "AssembledCodeListingFile", "/Fl", "Assembled Code Listing File", "", + { "AssembledCodeListingFile", "Fl", "Assembled Code Listing File", "", cmVS7FlagTable::UserValue }, // Skip [CommandLineTemplate] - no command line Switch. // Skip [ExecutionDescription] - no command line Switch. diff --git a/Source/cmVS12MASMFlagTable.h b/Source/cmVS12MASMFlagTable.h index a7e4a80..acc0d48 100644 --- a/Source/cmVS12MASMFlagTable.h +++ b/Source/cmVS12MASMFlagTable.h @@ -2,74 +2,72 @@ static cmVS7FlagTable cmVS12MASMFlagTable[] = { // Enum Properties { "PreserveIdentifierCase", "", "Default", "0", 0 }, - { "PreserveIdentifierCase", "/Cp", "Preserves Identifier Case (/Cp)", "1", + { "PreserveIdentifierCase", "Cp", "Preserves Identifier Case (/Cp)", "1", 0 }, - { "PreserveIdentifierCase", "/Cu", + { "PreserveIdentifierCase", "Cu", "Maps all identifiers to upper case. (/Cu)", "2", 0 }, - { "PreserveIdentifierCase", "/Cx", + { "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 }, + { "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 }, + { "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", + { "CallingConvention", "Gd", "Use C-style Calling Convention (/Gd)", "1", 0 }, - { "CallingConvention", "/Gc", "Use Pascal Calling Convention (/Gc)", "3", + { "CallingConvention", "Gz", "Use stdcall Calling Convention (/Gz)", "2", 0 }, + { "CallingConvention", "Gc", "Use Pascal Calling Convention (/Gc)", "3", 0 }, - { "ErrorReporting", "/errorReport:prompt", + { "ErrorReporting", "errorReport:prompt", "Prompt to send report immediately (/errorReport:prompt)", "0", 0 }, - { "ErrorReporting", "/errorReport:queue", + { "ErrorReporting", "errorReport:queue", "Prompt to send report at the next logon (/errorReport:queue)", "1", 0 }, - { "ErrorReporting", "/errorReport:send", + { "ErrorReporting", "errorReport:send", "Automatically send report (/errorReport:send)", "2", 0 }, - { "ErrorReporting", "/errorReport:none", + { "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 }, + { "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", "Preprocessor Definitions", "", + { "PreprocessorDefinitions", "D", "Preprocessor Definitions", "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "IncludePaths", "/I", "Include Paths", "", + { "IncludePaths", "I", "Include Paths", "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "BrowseFile", "/FR", "Generate Browse Information File", "", + { "BrowseFile", "FR", "Generate Browse Information File", "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, // Skip [AdditionalDependencies] - no command line Switch. // String Properties // Skip [Inputs] - no command line Switch. - { "ObjectFileName", "/Fo", "Object File Name", "", + { "ObjectFileName", "Fo", "Object File Name", "", cmVS7FlagTable::UserValue }, - { "AssembledCodeListingFile", "/Fl", "Assembled Code Listing File", "", + { "AssembledCodeListingFile", "Fl", "Assembled Code Listing File", "", cmVS7FlagTable::UserValue }, // Skip [CommandLineTemplate] - no command line Switch. // Skip [ExecutionDescription] - no command line Switch. diff --git a/Source/cmVS14MASMFlagTable.h b/Source/cmVS14MASMFlagTable.h index c4e5e1e..82ec9f1 100644 --- a/Source/cmVS14MASMFlagTable.h +++ b/Source/cmVS14MASMFlagTable.h @@ -2,74 +2,72 @@ static cmVS7FlagTable cmVS14MASMFlagTable[] = { // Enum Properties { "PreserveIdentifierCase", "", "Default", "0", 0 }, - { "PreserveIdentifierCase", "/Cp", "Preserves Identifier Case (/Cp)", "1", + { "PreserveIdentifierCase", "Cp", "Preserves Identifier Case (/Cp)", "1", 0 }, - { "PreserveIdentifierCase", "/Cu", + { "PreserveIdentifierCase", "Cu", "Maps all identifiers to upper case. (/Cu)", "2", 0 }, - { "PreserveIdentifierCase", "/Cx", + { "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 }, + { "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 }, + { "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", + { "CallingConvention", "Gd", "Use C-style Calling Convention (/Gd)", "1", 0 }, - { "CallingConvention", "/Gc", "Use Pascal Calling Convention (/Gc)", "3", + { "CallingConvention", "Gz", "Use stdcall Calling Convention (/Gz)", "2", 0 }, + { "CallingConvention", "Gc", "Use Pascal Calling Convention (/Gc)", "3", 0 }, - { "ErrorReporting", "/errorReport:prompt", + { "ErrorReporting", "errorReport:prompt", "Prompt to send report immediately (/errorReport:prompt)", "0", 0 }, - { "ErrorReporting", "/errorReport:queue", + { "ErrorReporting", "errorReport:queue", "Prompt to send report at the next logon (/errorReport:queue)", "1", 0 }, - { "ErrorReporting", "/errorReport:send", + { "ErrorReporting", "errorReport:send", "Automatically send report (/errorReport:send)", "2", 0 }, - { "ErrorReporting", "/errorReport:none", + { "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 }, + { "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", "Preprocessor Definitions", "", + { "PreprocessorDefinitions", "D", "Preprocessor Definitions", "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "IncludePaths", "/I", "Include Paths", "", + { "IncludePaths", "I", "Include Paths", "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, - { "BrowseFile", "/FR", "Generate Browse Information File", "", + { "BrowseFile", "FR", "Generate Browse Information File", "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable }, // Skip [AdditionalDependencies] - no command line Switch. // String Properties // Skip [Inputs] - no command line Switch. - { "ObjectFileName", "/Fo", "Object File Name", "", + { "ObjectFileName", "Fo", "Object File Name", "", cmVS7FlagTable::UserValue }, - { "AssembledCodeListingFile", "/Fl", "Assembled Code Listing File", "", + { "AssembledCodeListingFile", "Fl", "Assembled Code Listing File", "", cmVS7FlagTable::UserValue }, // Skip [CommandLineTemplate] - no command line Switch. // Skip [ExecutionDescription] - no command line Switch. diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx index 5a09718..c81ba7a 100644 --- a/Source/cmVisualStudio10TargetGenerator.cxx +++ b/Source/cmVisualStudio10TargetGenerator.cxx @@ -1943,9 +1943,24 @@ bool cmVisualStudio10TargetGenerator::OutputSourceSpecificFlags( hasFlags = true; cmGlobalVisualStudio10Generator* gg = static_cast<cmGlobalVisualStudio10Generator*>(this->GlobalGenerator); + cmIDEFlagTable const* flagtable = CM_NULLPTR; + const std::string& srclang = source->GetLanguage(); + if (srclang == "C" || srclang == "CXX") { + flagtable = gg->GetClFlagTable(); + } else if (srclang == "ASM_MASM" && + this->GlobalGenerator->IsMasmEnabled()) { + flagtable = gg->GetMasmFlagTable(); + } else if (lang == "ASM_NASM" && + this->GlobalGenerator->IsNasmEnabled()) { + flagtable = gg->GetNasmFlagTable(); + } else if (srclang == "RC") { + flagtable = gg->GetRcFlagTable(); + } else if (srclang == "CSharp") { + flagtable = gg->GetCSharpFlagTable(); + } cmVisualStudioGeneratorOptions clOptions( this->LocalGenerator, cmVisualStudioGeneratorOptions::Compiler, - gg->GetClFlagTable(), 0, this); + flagtable, 0, this); if (compileAs) { clOptions.AddFlag("CompileAs", compileAs); } |