[Cmake-commits] CMake branch, next, updated. v3.0.1-4980-g5f774cc

Brad King brad.king at kitware.com
Tue Aug 19 09:56:10 EDT 2014


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, next has been updated
       via  5f774ccb6860d8e48a0e44813c7348c9806ba324 (commit)
       via  d8b097b6bd85e82607b29e79b2b094edb7513f7b (commit)
       via  e872744990f48777a1f1cebc791911363515092d (commit)
       via  0271a5f9ba3a8aa2b2e0a7d94a53ad3f9bb52a00 (commit)
       via  1d662e4806364172ebf76099c2d016efd414c74a (commit)
       via  4f6940df8c69053b4451056ebf3ebdc8f97bf356 (commit)
       via  d7866c52c9fc7f28990337a965e8d9e6652b0ac5 (commit)
       via  0374abdb18135bfb9f1b88c8f6be17c160fb8b4a (commit)
       via  5b0a46e1c93f99c8ba5fadbc3224a3721d95aa64 (commit)
       via  802dbe52399dd2330020b94d12e594b46f85e70a (commit)
      from  d11d05029a7037a58b551e8d9eddbee6ac8d3191 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=5f774ccb6860d8e48a0e44813c7348c9806ba324
commit 5f774ccb6860d8e48a0e44813c7348c9806ba324
Merge: d11d050 d8b097b
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Tue Aug 19 09:56:08 2014 -0400
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Tue Aug 19 09:56:08 2014 -0400

    Merge topic 'vs-masm' into next
    
    d8b097b6 VS: Add test for MASM support
    e8727449 VS: Populate MASM tool build settings in .vcxproj files
    0271a5f9 VS: Manually fix MASM flag table entries
    1d662e48 VS: Generate MASM flag tables from MSBuild tool files
    4f6940df VS: Fix ASM_MASM support in VS >= 10
    d7866c52 ASM_MASM: Fix selection of ml64
    0374abdb ASM_MASM: Add preprocessor definitions to compile lines
    5b0a46e1 ASM_MASM: Do not require compiler to be a full path
    802dbe52 cmLocalVisualStudio7Generator: Rename local 'lang' var


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d8b097b6bd85e82607b29e79b2b094edb7513f7b
commit d8b097b6bd85e82607b29e79b2b094edb7513f7b
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Thu Aug 7 14:53:57 2014 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Wed Aug 13 14:48:05 2014 -0400

    VS: Add test for MASM support
    
    It is now expected to work with VS >= 10 and MSVC >= 13.0.

diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt
index ca7fcdc..48e1c82 100644
--- a/Tests/CMakeLists.txt
+++ b/Tests/CMakeLists.txt
@@ -1679,6 +1679,11 @@ ${CMake_BINARY_DIR}/bin/cmake -DDIR=dev -P ${CMake_SOURCE_DIR}/Utilities/Release
     list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/MFC")
   endif()
 
+  if(MSVC AND NOT MSVC_VERSION LESS 1300
+     AND NOT CMAKE_GENERATOR MATCHES "Visual Studio [6789]( |$)")
+    ADD_TEST_MACRO(VSMASM VSMASM)
+  endif()
+
   if(${CMAKE_GENERATOR} MATCHES "Visual Studio")
     if(NOT MSVC60)
       ADD_TEST_MACRO(SBCS SBCS)
diff --git a/Tests/VSMASM/CMakeLists.txt b/Tests/VSMASM/CMakeLists.txt
new file mode 100644
index 0000000..f2570a3
--- /dev/null
+++ b/Tests/VSMASM/CMakeLists.txt
@@ -0,0 +1,10 @@
+cmake_minimum_required(VERSION 2.8.12)
+project(VSMASM C ASM_MASM)
+if(CMAKE_SIZEOF_VOID_P EQUAL 8)
+  add_definitions(-DTESTx64)
+else()
+  add_definitions(-DTESTi386)
+  set(CMAKE_ASM_MASM_FLAGS "${CMAKE_ASM_MASM_FLAGS} /safeseh")
+endif()
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)
+add_executable(VSMASM main.c foo.asm)
diff --git a/Tests/VSMASM/foo.asm b/Tests/VSMASM/foo.asm
new file mode 100644
index 0000000..51cb969
--- /dev/null
+++ b/Tests/VSMASM/foo.asm
@@ -0,0 +1,7 @@
+ifndef TESTx64
+.386
+.model flat, c
+endif
+.code
+include <foo-proc.asm>
+end
diff --git a/Tests/VSMASM/include/foo-proc.asm b/Tests/VSMASM/include/foo-proc.asm
new file mode 100644
index 0000000..e8ba5dc
--- /dev/null
+++ b/Tests/VSMASM/include/foo-proc.asm
@@ -0,0 +1,4 @@
+foo proc public
+  mov eax,0
+  ret
+foo endp
diff --git a/Tests/VSMASM/main.c b/Tests/VSMASM/main.c
new file mode 100644
index 0000000..570ba16
--- /dev/null
+++ b/Tests/VSMASM/main.c
@@ -0,0 +1,2 @@
+extern int foo(void);
+int main(void) { return foo(); }

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e872744990f48777a1f1cebc791911363515092d
commit e872744990f48777a1f1cebc791911363515092d
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Wed Aug 13 11:20:20 2014 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Wed Aug 13 14:48:03 2014 -0400

    VS: Populate MASM tool build settings in .vcxproj files

diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx
index 9256b89..b9295e4 100644
--- a/Source/cmVisualStudio10TargetGenerator.cxx
+++ b/Source/cmVisualStudio10TargetGenerator.cxx
@@ -24,18 +24,22 @@
 #include "cmVS10RCFlagTable.h"
 #include "cmVS10LinkFlagTable.h"
 #include "cmVS10LibFlagTable.h"
+#include "cmVS10MASMFlagTable.h"
 #include "cmVS11CLFlagTable.h"
 #include "cmVS11RCFlagTable.h"
 #include "cmVS11LinkFlagTable.h"
 #include "cmVS11LibFlagTable.h"
+#include "cmVS11MASMFlagTable.h"
 #include "cmVS12CLFlagTable.h"
 #include "cmVS12RCFlagTable.h"
 #include "cmVS12LinkFlagTable.h"
 #include "cmVS12LibFlagTable.h"
+#include "cmVS12MASMFlagTable.h"
 #include "cmVS14CLFlagTable.h"
 #include "cmVS14RCFlagTable.h"
 #include "cmVS14LinkFlagTable.h"
 #include "cmVS14LibFlagTable.h"
+#include "cmVS14MASMFlagTable.h"
 
 #include <cmsys/auto_ptr.hxx>
 
@@ -111,6 +115,24 @@ cmIDEFlagTable const* cmVisualStudio10TargetGenerator::GetLinkFlagTable() const
   return 0;
 }
 
+cmIDEFlagTable const* cmVisualStudio10TargetGenerator::GetMasmFlagTable() const
+{
+  if(this->MSTools)
+    {
+    cmLocalVisualStudioGenerator::VSVersion
+      v = this->LocalGenerator->GetVersion();
+    if(v >= cmLocalVisualStudioGenerator::VS14)
+      { return cmVS14MASMFlagTable; }
+    else if(v >= cmLocalVisualStudioGenerator::VS12)
+      { return cmVS12MASMFlagTable; }
+    else if(v == cmLocalVisualStudioGenerator::VS11)
+      { return cmVS11MASMFlagTable; }
+    else
+      { return cmVS10MASMFlagTable; }
+    }
+  return 0;
+}
+
 static std::string cmVS10EscapeXML(std::string arg)
 {
   cmSystemTools::ReplaceString(arg, "&", "&");
@@ -251,6 +273,10 @@ void cmVisualStudio10TargetGenerator::Generate()
       {
       return;
       }
+    if(!this->ComputeMasmOptions())
+      {
+      return;
+      }
     if(!this->ComputeLinkOptions())
       {
       return;
@@ -1646,6 +1672,71 @@ WriteRCOptions(std::string const& configName,
   this->WriteString("</ResourceCompile>\n", 2);
 }
 
+//----------------------------------------------------------------------------
+bool cmVisualStudio10TargetGenerator::ComputeMasmOptions()
+{
+  if(!this->GlobalGenerator->IsMasmEnabled())
+    {
+    return true;
+    }
+  std::vector<std::string> const* configs =
+    this->GlobalGenerator->GetConfigurations();
+  for(std::vector<std::string>::const_iterator i = configs->begin();
+      i != configs->end(); ++i)
+    {
+    if(!this->ComputeMasmOptions(*i))
+      {
+      return false;
+      }
+    }
+  return true;
+}
+
+//----------------------------------------------------------------------------
+bool cmVisualStudio10TargetGenerator::ComputeMasmOptions(
+  std::string const& configName)
+{
+  cmsys::auto_ptr<Options> pOptions(
+    new Options(this->LocalGenerator, Options::MasmCompiler,
+                this->GetMasmFlagTable()));
+  Options& masmOptions = *pOptions;
+
+  std::string CONFIG = cmSystemTools::UpperCase(configName);
+  std::string configFlagsVar = std::string("CMAKE_ASM_MASM_FLAGS_") + CONFIG;
+  std::string flags =
+      std::string(this->Makefile->GetSafeDefinition("CMAKE_ASM_MASM_FLAGS")) +
+      std::string(" ") +
+      std::string(this->Makefile->GetSafeDefinition(configFlagsVar));
+
+  masmOptions.Parse(flags.c_str());
+  this->MasmOptions[configName] = pOptions.release();
+  return true;
+}
+
+void cmVisualStudio10TargetGenerator::
+WriteMasmOptions(std::string const& configName,
+                 std::vector<std::string> const& includes)
+{
+  if(!this->MSTools || !this->GlobalGenerator->IsMasmEnabled())
+    {
+    return;
+    }
+  this->WriteString("<MASM>\n", 2);
+
+  // Preprocessor definitions and includes are shared with clOptions.
+  Options& clOptions = *(this->ClOptions[configName]);
+  clOptions.OutputPreprocessorDefinitions(*this->BuildFileStream, "      ",
+                                          "\n", "ASM_MASM");
+
+  Options& masmOptions = *(this->MasmOptions[configName]);
+  masmOptions.AppendFlag("IncludePaths", includes);
+  masmOptions.AppendFlag("IncludePaths", "%(IncludePaths)");
+  masmOptions.OutputFlagMap(*this->BuildFileStream, "      ");
+  masmOptions.OutputAdditionalOptions(*this->BuildFileStream, "      ", "");
+
+  this->WriteString("</MASM>\n", 2);
+}
+
 
 void
 cmVisualStudio10TargetGenerator::WriteLibOptions(std::string const& config)
@@ -1990,6 +2081,7 @@ void cmVisualStudio10TargetGenerator::WriteItemDefinitionGroups()
       this->WriteClOptions(*i, includes);
       //    output rc compile flags <ResourceCompile></ResourceCompile>
       this->WriteRCOptions(*i, includes);
+      this->WriteMasmOptions(*i, includes);
       }
     //    output midl flags       <Midl></Midl>
     this->WriteMidlOptions(*i, includes);
diff --git a/Source/cmVisualStudio10TargetGenerator.h b/Source/cmVisualStudio10TargetGenerator.h
index 4e9bcd1..93b72f4 100644
--- a/Source/cmVisualStudio10TargetGenerator.h
+++ b/Source/cmVisualStudio10TargetGenerator.h
@@ -78,6 +78,10 @@ private:
   bool ComputeRcOptions(std::string const& config);
   void WriteRCOptions(std::string const& config,
                       std::vector<std::string> const & includes);
+  bool ComputeMasmOptions();
+  bool ComputeMasmOptions(std::string const& config);
+  void WriteMasmOptions(std::string const& config,
+                        std::vector<std::string> const& includes);
   bool ComputeLinkOptions();
   bool ComputeLinkOptions(std::string const& config);
   void WriteLinkOptions(std::string const& config);
@@ -109,12 +113,14 @@ private:
   cmIDEFlagTable const* GetRcFlagTable() const;
   cmIDEFlagTable const* GetLibFlagTable() const;
   cmIDEFlagTable const* GetLinkFlagTable() const;
+  cmIDEFlagTable const* GetMasmFlagTable() const;
 
 private:
   typedef cmVisualStudioGeneratorOptions Options;
   typedef std::map<std::string, Options*> OptionsMap;
   OptionsMap ClOptions;
   OptionsMap RcOptions;
+  OptionsMap MasmOptions;
   OptionsMap LinkOptions;
   std::string PathToVcxproj;
   cmTarget* Target;
diff --git a/Source/cmVisualStudioGeneratorOptions.h b/Source/cmVisualStudioGeneratorOptions.h
index 47a7c62..8de6017 100644
--- a/Source/cmVisualStudioGeneratorOptions.h
+++ b/Source/cmVisualStudioGeneratorOptions.h
@@ -28,6 +28,7 @@ public:
   {
     Compiler,
     ResourceCompiler,
+    MasmCompiler,
     Linker,
     FortranCompiler
   };

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0271a5f9ba3a8aa2b2e0a7d94a53ad3f9bb52a00
commit 0271a5f9ba3a8aa2b2e0a7d94a53ad3f9bb52a00
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Wed Aug 13 11:36:30 2014 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Wed Aug 13 14:48:01 2014 -0400

    VS: Manually fix MASM flag table entries
    
    Drop '"[value]"' placeholders.

diff --git a/Source/cmVS10MASMFlagTable.h b/Source/cmVS10MASMFlagTable.h
index 19d402d..8fb6f33 100644
--- a/Source/cmVS10MASMFlagTable.h
+++ b/Source/cmVS10MASMFlagTable.h
@@ -70,23 +70,23 @@ static cmVS7FlagTable cmVS10MASMFlagTable[] =
   //Bool Properties With Argument
 
   //String List Properties
-  {"PreprocessorDefinitions", "/D"[value]"",
+  {"PreprocessorDefinitions", "/D",
    "Preprocessor Definitions",
    "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
-  {"IncludePaths", "/I "[value]"",
+  {"IncludePaths", "/I",
    "Include Paths",
    "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
-  {"BrowseFile", "/FR"[value]"",
+  {"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"[value]"",
+  {"ObjectFileName", "/Fo",
    "Object File Name",
    "", cmVS7FlagTable::UserValue},
-  {"AssembledCodeListingFile", "/Fl"[value]"",
+  {"AssembledCodeListingFile", "/Fl",
    "Assembled Code Listing File",
    "", cmVS7FlagTable::UserValue},
   // Skip [CommandLineTemplate] - no command line Switch.
diff --git a/Source/cmVS11MASMFlagTable.h b/Source/cmVS11MASMFlagTable.h
index 97cf03c..2ff95ad 100644
--- a/Source/cmVS11MASMFlagTable.h
+++ b/Source/cmVS11MASMFlagTable.h
@@ -70,23 +70,23 @@ static cmVS7FlagTable cmVS11MASMFlagTable[] =
   //Bool Properties With Argument
 
   //String List Properties
-  {"PreprocessorDefinitions", "/D"[value]"",
+  {"PreprocessorDefinitions", "/D",
    "Preprocessor Definitions",
    "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
-  {"IncludePaths", "/I "[value]"",
+  {"IncludePaths", "/I",
    "Include Paths",
    "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
-  {"BrowseFile", "/FR"[value]"",
+  {"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"[value]"",
+  {"ObjectFileName", "/Fo",
    "Object File Name",
    "", cmVS7FlagTable::UserValue},
-  {"AssembledCodeListingFile", "/Fl"[value]"",
+  {"AssembledCodeListingFile", "/Fl",
    "Assembled Code Listing File",
    "", cmVS7FlagTable::UserValue},
   // Skip [CommandLineTemplate] - no command line Switch.
diff --git a/Source/cmVS12MASMFlagTable.h b/Source/cmVS12MASMFlagTable.h
index ecd5d33..74d529c 100644
--- a/Source/cmVS12MASMFlagTable.h
+++ b/Source/cmVS12MASMFlagTable.h
@@ -70,23 +70,23 @@ static cmVS7FlagTable cmVS12MASMFlagTable[] =
   //Bool Properties With Argument
 
   //String List Properties
-  {"PreprocessorDefinitions", "/D"[value]"",
+  {"PreprocessorDefinitions", "/D",
    "Preprocessor Definitions",
    "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
-  {"IncludePaths", "/I "[value]"",
+  {"IncludePaths", "/I",
    "Include Paths",
    "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
-  {"BrowseFile", "/FR"[value]"",
+  {"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"[value]"",
+  {"ObjectFileName", "/Fo",
    "Object File Name",
    "", cmVS7FlagTable::UserValue},
-  {"AssembledCodeListingFile", "/Fl"[value]"",
+  {"AssembledCodeListingFile", "/Fl",
    "Assembled Code Listing File",
    "", cmVS7FlagTable::UserValue},
   // Skip [CommandLineTemplate] - no command line Switch.
diff --git a/Source/cmVS14MASMFlagTable.h b/Source/cmVS14MASMFlagTable.h
index ccfde94..dce846f 100644
--- a/Source/cmVS14MASMFlagTable.h
+++ b/Source/cmVS14MASMFlagTable.h
@@ -70,23 +70,23 @@ static cmVS7FlagTable cmVS14MASMFlagTable[] =
   //Bool Properties With Argument
 
   //String List Properties
-  {"PreprocessorDefinitions", "/D"[value]"",
+  {"PreprocessorDefinitions", "/D",
    "Preprocessor Definitions",
    "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
-  {"IncludePaths", "/I "[value]"",
+  {"IncludePaths", "/I",
    "Include Paths",
    "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
-  {"BrowseFile", "/FR"[value]"",
+  {"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"[value]"",
+  {"ObjectFileName", "/Fo",
    "Object File Name",
    "", cmVS7FlagTable::UserValue},
-  {"AssembledCodeListingFile", "/Fl"[value]"",
+  {"AssembledCodeListingFile", "/Fl",
    "Assembled Code Listing File",
    "", cmVS7FlagTable::UserValue},
   // Skip [CommandLineTemplate] - no command line Switch.

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=1d662e4806364172ebf76099c2d016efd414c74a
commit 1d662e4806364172ebf76099c2d016efd414c74a
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Wed Aug 13 10:02:12 2014 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Wed Aug 13 14:47:58 2014 -0400

    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.

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}
+};

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=4f6940df8c69053b4451056ebf3ebdc8f97bf356
commit 4f6940df8c69053b4451056ebf3ebdc8f97bf356
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Thu Aug 7 14:47:43 2014 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Wed Aug 13 14:47:56 2014 -0400

    VS: Fix ASM_MASM support in VS >= 10
    
    Fix a typo introduced by commit ce511435 (stringapi: Use strings for the
    languages, 2014-02-03) to check the language name correctly.

diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx
index 3c7745d..9256b89 100644
--- a/Source/cmVisualStudio10TargetGenerator.cxx
+++ b/Source/cmVisualStudio10TargetGenerator.cxx
@@ -1123,7 +1123,7 @@ void cmVisualStudio10TargetGenerator::WriteAllSources()
       {
       tool = "ClCompile";
       }
-    else if (lang == "ASM_NASM" &&
+    else if (lang == "ASM_MASM" &&
              this->GlobalGenerator->IsMasmEnabled())
       {
       tool = "MASM";

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d7866c52c9fc7f28990337a965e8d9e6652b0ac5
commit d7866c52c9fc7f28990337a965e8d9e6652b0ac5
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Wed Aug 13 14:44:52 2014 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Wed Aug 13 14:47:54 2014 -0400

    ASM_MASM: Fix selection of ml64
    
    Recognize 64-bit platforms based on the C or CXX architecture or
    the platform specified with a VS generator name.

diff --git a/Modules/CMakeDetermineASM_MASMCompiler.cmake b/Modules/CMakeDetermineASM_MASMCompiler.cmake
index 665a65c..142ef95 100644
--- a/Modules/CMakeDetermineASM_MASMCompiler.cmake
+++ b/Modules/CMakeDetermineASM_MASMCompiler.cmake
@@ -17,7 +17,8 @@
 set(ASM_DIALECT "_MASM")
 
 # if we are using the 64bit cl compiler, assume we also want the 64bit assembler
-if(CMAKE_CL_64)
+if(";${CMAKE_VS_PLATFORM_NAME};${MSVC_C_ARCHITECTURE_ID};${MSVC_CXX_ARCHITECTURE_ID};"
+    MATCHES ";(Win64|Itanium|x64|IA64);")
    set(CMAKE_ASM${ASM_DIALECT}_COMPILER_INIT ml64)
 else()
    set(CMAKE_ASM${ASM_DIALECT}_COMPILER_INIT ml)

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0374abdb18135bfb9f1b88c8f6be17c160fb8b4a
commit 0374abdb18135bfb9f1b88c8f6be17c160fb8b4a
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Wed Aug 13 11:31:14 2014 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Wed Aug 13 14:47:52 2014 -0400

    ASM_MASM: Add preprocessor definitions to compile lines
    
    The MASM tools (ml, ml64) support -D preprocessor definition flags.
    Update our compilation rule variable to pass them.

diff --git a/Modules/CMakeASM_MASMInformation.cmake b/Modules/CMakeASM_MASMInformation.cmake
index eb105ab..972883c 100644
--- a/Modules/CMakeASM_MASMInformation.cmake
+++ b/Modules/CMakeASM_MASMInformation.cmake
@@ -18,7 +18,7 @@ set(ASM_DIALECT "_MASM")
 
 set(CMAKE_ASM${ASM_DIALECT}_SOURCE_FILE_EXTENSIONS asm)
 
-set(CMAKE_ASM${ASM_DIALECT}_COMPILE_OBJECT "<CMAKE_ASM${ASM_DIALECT}_COMPILER> <FLAGS> /c  /Fo <OBJECT> <SOURCE>")
+set(CMAKE_ASM${ASM_DIALECT}_COMPILE_OBJECT "<CMAKE_ASM${ASM_DIALECT}_COMPILER> <DEFINES> <FLAGS> /c  /Fo <OBJECT> <SOURCE>")
 
 include(CMakeASMInformation)
 set(ASM_DIALECT)

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=5b0a46e1c93f99c8ba5fadbc3224a3721d95aa64
commit 5b0a46e1c93f99c8ba5fadbc3224a3721d95aa64
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Wed Aug 13 11:50:31 2014 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Wed Aug 13 14:47:49 2014 -0400

    ASM_MASM: Do not require compiler to be a full path
    
    The compiler detection modules for this language do not yet know how
    to find the full path to 'ml' or 'ml64', so do not require it.

diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx
index 3f948b5..3681515 100644
--- a/Source/cmGlobalGenerator.cxx
+++ b/Source/cmGlobalGenerator.cxx
@@ -620,7 +620,8 @@ cmGlobalGenerator::EnableLanguage(std::vector<std::string>const& languages,
         "No " << compilerName << " could be found.\n"
         ;
       }
-    else if(strcmp(lang, "RC") != 0)
+    else if(strcmp(lang, "RC") != 0 &&
+            strcmp(lang, "ASM_MASM") != 0)
       {
       if(!cmSystemTools::FileIsFullPath(compilerFile))
         {

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=802dbe52399dd2330020b94d12e594b46f85e70a
commit 802dbe52399dd2330020b94d12e594b46f85e70a
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Thu Aug 7 15:18:27 2014 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Wed Aug 13 14:12:48 2014 -0400

    cmLocalVisualStudio7Generator: Rename local 'lang' var
    
    In the WriteGroup method, rename the 'lang' var to 'ppLang' since
    it is specifically for the preprocessor definitions language selection.

diff --git a/Source/cmLocalVisualStudio7Generator.cxx b/Source/cmLocalVisualStudio7Generator.cxx
index 3ed4a48..29165f8 100644
--- a/Source/cmLocalVisualStudio7Generator.cxx
+++ b/Source/cmLocalVisualStudio7Generator.cxx
@@ -1695,7 +1695,7 @@ bool cmLocalVisualStudio7Generator
       else if(!fcinfo.FileConfigMap.empty())
         {
         const char* aCompilerTool = "VCCLCompilerTool";
-        const char* lang = "CXX";
+        const char* ppLang = "CXX";
         if(this->FortranProject)
           {
           aCompilerTool = "VFFortranCompilerTool";
@@ -1713,7 +1713,7 @@ bool cmLocalVisualStudio7Generator
         if(ext == "rc")
           {
           aCompilerTool = "VCResourceCompilerTool";
-          lang = "RC";
+          ppLang = "RC";
           if(this->FortranProject)
             {
             aCompilerTool = "VFResourceCompilerTool";
@@ -1763,7 +1763,7 @@ bool cmLocalVisualStudio7Generator
             fileOptions.OutputFlagMap(fout, "\t\t\t\t\t");
             fileOptions.OutputPreprocessorDefinitions(fout,
                                                       "\t\t\t\t\t", "\n",
-                                                      lang);
+                                                      ppLang);
             }
           if(!fc.AdditionalDeps.empty())
             {

-----------------------------------------------------------------------

Summary of changes:
 Modules/CMakeASM_MASMInformation.cmake       |    2 +-
 Modules/CMakeDetermineASM_MASMCompiler.cmake |    3 +-
 Source/cmGlobalGenerator.cxx                 |    3 +-
 Source/cmLocalVisualStudio7Generator.cxx     |    6 +-
 Source/cmVS10MASMFlagTable.h                 |   96 ++++++++++++++++++++++++++
 Source/cmVS11MASMFlagTable.h                 |   96 ++++++++++++++++++++++++++
 Source/cmVS12MASMFlagTable.h                 |   96 ++++++++++++++++++++++++++
 Source/cmVS14MASMFlagTable.h                 |   96 ++++++++++++++++++++++++++
 Source/cmVisualStudio10TargetGenerator.cxx   |   94 ++++++++++++++++++++++++-
 Source/cmVisualStudio10TargetGenerator.h     |    6 ++
 Source/cmVisualStudioGeneratorOptions.h      |    1 +
 Tests/CMakeLists.txt                         |    5 ++
 Tests/VSMASM/CMakeLists.txt                  |   10 +++
 Tests/VSMASM/foo.asm                         |    7 ++
 Tests/VSMASM/include/foo-proc.asm            |    4 ++
 Tests/VSMASM/main.c                          |    2 +
 16 files changed, 520 insertions(+), 7 deletions(-)
 create mode 100644 Source/cmVS10MASMFlagTable.h
 create mode 100644 Source/cmVS11MASMFlagTable.h
 create mode 100644 Source/cmVS12MASMFlagTable.h
 create mode 100644 Source/cmVS14MASMFlagTable.h
 create mode 100644 Tests/VSMASM/CMakeLists.txt
 create mode 100644 Tests/VSMASM/foo.asm
 create mode 100644 Tests/VSMASM/include/foo-proc.asm
 create mode 100644 Tests/VSMASM/main.c


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list