diff options
-rw-r--r-- | .clang-tidy | 30 | ||||
-rw-r--r-- | CMakeLists.txt | 14 | ||||
-rw-r--r-- | Modules/FindJava.cmake | 3 | ||||
-rw-r--r-- | Source/CMakeVersion.cmake | 2 | ||||
-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 | ||||
-rw-r--r-- | Source/cm_auto_ptr.hxx | 10 | ||||
-rw-r--r-- | Utilities/.clang-tidy | 6 | ||||
-rw-r--r-- | Utilities/CMakeLists.txt | 3 |
12 files changed, 226 insertions, 163 deletions
diff --git a/.clang-tidy b/.clang-tidy new file mode 100644 index 0000000..a9d121a --- /dev/null +++ b/.clang-tidy @@ -0,0 +1,30 @@ +--- +Checks: "-*,\ +misc-*,\ +-misc-incorrect-roundings,\ +-misc-macro-parentheses,\ +-misc-misplaced-widening-cast,\ +-misc-static-assert,\ +modernize-make-shared,\ +modernize-make-unique,\ +modernize-redundant-void-arg,\ +modernize-use-bool-literals,\ +modernize-use-nullptr,\ +modernize-use-override,\ +performance-*,\ +-performance-inefficient-string-concatenation,\ +readability-*,\ +-readability-function-size,\ +-readability-identifier-naming,\ +-readability-implicit-bool-cast,\ +-readability-inconsistent-declaration-parameter-name,\ +-readability-named-parameter,\ +-readability-redundant-declaration,\ +-readability-redundant-member-init,\ +-readability-simplify-boolean-expr,\ +" +HeaderFilterRegex: 'Source/cm[^/]*\.(h|hxx|cxx)$' +CheckOptions: + - key: modernize-use-nullptr.NullMacros + value: 'CM_NULLPTR' +... diff --git a/CMakeLists.txt b/CMakeLists.txt index 545177b..4dcf2f0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -226,6 +226,20 @@ option(CMAKE_USE_FOLDERS "Enable folder grouping of projects in IDEs." ON) mark_as_advanced(CMAKE_USE_FOLDERS) +option(CMake_RUN_CLANG_TIDY "Run clang-tidy with the compiler." OFF) +if(CMake_RUN_CLANG_TIDY) + if(CMake_SOURCE_DIR STREQUAL CMake_BINARY_DIR) + message(FATAL_ERROR "CMake_RUN_CLANG_TIDY requires an out-of-source build!") + endif() + find_program(CLANG_TIDY_COMMAND NAMES clang-tidy) + if(NOT CLANG_TIDY_COMMAND) + message(FATAL_ERROR "CMake_RUN_CLANG_TIDY is ON but clang-tidy is not found!") + endif() + set(CMAKE_CXX_CLANG_TIDY "${CLANG_TIDY_COMMAND}") +endif() +configure_file(.clang-tidy .clang-tidy COPYONLY) + + option(CMake_RUN_IWYU "Run include-what-you-use with the compiler." OFF) if(CMake_RUN_IWYU) find_program(IWYU_COMMAND NAMES include-what-you-use iwyu) diff --git a/Modules/FindJava.cmake b/Modules/FindJava.cmake index 4265a97..3d32560 100644 --- a/Modules/FindJava.cmake +++ b/Modules/FindJava.cmake @@ -143,6 +143,9 @@ if(Java_JAVA_EXECUTABLE) if(var MATCHES "java version \"([0-9]+\\.[0-9]+\\.[0-9_.]+.*)\"") # This is most likely Sun / OpenJDK, or maybe GCJ-java compat layer set(Java_VERSION_STRING "${CMAKE_MATCH_1}") + elseif(var MATCHES "openjdk version \"([0-9]+)-[a-z]+\"") + # OpenJDK 9 early access builds or locally built + set(Java_VERSION_STRING "1.${CMAKE_MATCH_1}.0") elseif(var MATCHES "java full version \"kaffe-([0-9]+\\.[0-9]+\\.[0-9_]+)\"") # Kaffe style set(Java_VERSION_STRING "${CMAKE_MATCH_1}") diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake index ce87fe2..4009571 100644 --- a/Source/CMakeVersion.cmake +++ b/Source/CMakeVersion.cmake @@ -1,5 +1,5 @@ # CMake version number components. set(CMake_VERSION_MAJOR 3) set(CMake_VERSION_MINOR 8) -set(CMake_VERSION_PATCH 20170504) +set(CMake_VERSION_PATCH 20170505) #set(CMake_VERSION_RC 1) 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); } diff --git a/Source/cm_auto_ptr.hxx b/Source/cm_auto_ptr.hxx index 2b5c059..773602a 100644 --- a/Source/cm_auto_ptr.hxx +++ b/Source/cm_auto_ptr.hxx @@ -100,10 +100,10 @@ public: /** Assign from an auto_ptr holding a compatible object. This transfers ownership to the left-hand-side of the assignment. */ template <class Y> - auto_ptr& operator=(auto_ptr<Y> cm_AUTO_PTR_CONST& a) throw() + auto_ptr& operator=(auto_ptr<Y> cm_AUTO_PTR_CONST& a) throw() // NOLINT { this->reset(cm_AUTO_PTR_CAST(a).release()); - return *this; + return *this; // NOLINT } /** @@ -127,10 +127,10 @@ public: /** Assign from another auto_ptr holding an object of the same type. This transfers ownership to the newly constructed auto_ptr. */ - auto_ptr& operator=(auto_ptr cm_AUTO_PTR_CONST& a) throw() + auto_ptr& operator=(auto_ptr cm_AUTO_PTR_CONST& a) throw() // NOLINT { this->reset(cm_AUTO_PTR_CAST(a).release()); - return *this; + return *this; // NOLINT } /** Destruct and delete the object held. */ @@ -192,7 +192,7 @@ public: auto_ptr& operator=(detail::auto_ptr_ref<X> r) throw() { this->reset(r.p_); - return *this; + return *this; // NOLINT } /** Convert to an auto_ptr_ref. This is used when a function diff --git a/Utilities/.clang-tidy b/Utilities/.clang-tidy new file mode 100644 index 0000000..381a0f4 --- /dev/null +++ b/Utilities/.clang-tidy @@ -0,0 +1,6 @@ +--- +# We want to disable all checks for 3rd party code. However, clang-tidy will +# assume we did not configure it correctly. Just add one check that will never +# be found. +Checks: '-*,llvm-twine-local' +... diff --git a/Utilities/CMakeLists.txt b/Utilities/CMakeLists.txt index 014204b..0564540 100644 --- a/Utilities/CMakeLists.txt +++ b/Utilities/CMakeLists.txt @@ -29,3 +29,6 @@ endif() if(WIX_CUSTOM_ACTION_ENABLED) add_subdirectory(Release/WiX) endif() + +# Make sure generated files use the same clang-tidy checks (none). +configure_file(.clang-tidy .clang-tidy COPYONLY) |