[Cmake-commits] [cmake-commits] king committed cmVS10CLFlagTable.h 1.5 1.6 cmVS10LinkFlagTable.h 1.3 1.4 cmparseMSBuildXML.py 1.3 1.4

cmake-commits at cmake.org cmake-commits at cmake.org
Fri Oct 23 14:59:31 EDT 2009


Update of /cvsroot/CMake/CMake/Source
In directory public:/mounts/ram/cvs-serv32687/Source

Modified Files:
	cmVS10CLFlagTable.h cmVS10LinkFlagTable.h cmparseMSBuildXML.py 
Log Message:
Fix optionally-valued booleans in VS 10 flag table

This commit fixes the cmparseMSBuildXML.py script to generate correct
flag table entries for booleans with optional value.  These flags use
two entries: the first should ignore the value and enable the option,
and the second should use the value if given.  Previously the first
entry did not recognize flags with values.

In particular this fixes flags like /MP4, but the change corrects
matching of some other flags too.  See issue #9771.


Index: cmparseMSBuildXML.py
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmparseMSBuildXML.py,v
retrieving revision 1.3
retrieving revision 1.4
diff -C 2 -d -r1.3 -r1.4
*** cmparseMSBuildXML.py	29 Sep 2009 19:07:39 -0000	1.3
--- cmparseMSBuildXML.py	23 Oct 2009 18:59:26 -0000	1.4
***************
*** 4,8 ****
  
  #  http://blogs.msdn.com/vcblog/archive/2008/12/16/msbuild-task.aspx
! #  cl.xml
  #
  #  BoolProperty  <Name>true|false</Name>
--- 4,10 ----
  
  #  http://blogs.msdn.com/vcblog/archive/2008/12/16/msbuild-task.aspx
! #  "${PROGRAMFILES}/MSBuild/Microsoft.Cpp/v4.0/1033/cl.xml"
! #  "${PROGRAMFILES}/MSBuild/Microsoft.Cpp/v4.0/1033/lib.xml"
! #  "${PROGRAMFILES}/MSBuild/Microsoft.Cpp/v4.0/1033/link.xml"
  #
  #  BoolProperty  <Name>true|false</Name>
***************
*** 234,241 ****
        if i.argumentProperty != "":
          if i.attributes["ReverseSwitch"] != "":
!           toReturn += "  {\""+i.attributes["Name"]+"\", \""+i.attributes["ReverseSwitch"]+"\", \"\", \"false\", cmVS7FlagTable::Continue},\n"
            toReturn += "  {\""+i.attributes["Name"]+"\", \""+i.attributes["ReverseSwitch"]+"\", \""+i.DisplayName+"\", \"\",\n   cmVS7FlagTable::UserValueRequired},\n"
          if i.attributes["Switch"] != "":
!           toReturn += "  {\""+i.attributes["Name"]+"\", \""+i.attributes["Switch"]+"\", \"\", \"true\", cmVS7FlagTable::Continue},\n"
            toReturn += "  {\""+i.argumentProperty+"\", \""+i.attributes["Switch"]+"\", \""+i.DisplayName+"\", \"\",\n   cmVS7FlagTable::UserValueRequired},\n"
      
--- 236,243 ----
        if i.argumentProperty != "":
          if i.attributes["ReverseSwitch"] != "":
!           toReturn += "  {\""+i.attributes["Name"]+"\", \""+i.attributes["ReverseSwitch"]+"\", \"\", \"false\",\n   cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue},\n"
            toReturn += "  {\""+i.attributes["Name"]+"\", \""+i.attributes["ReverseSwitch"]+"\", \""+i.DisplayName+"\", \"\",\n   cmVS7FlagTable::UserValueRequired},\n"
          if i.attributes["Switch"] != "":
!           toReturn += "  {\""+i.attributes["Name"]+"\", \""+i.attributes["Switch"]+"\", \"\", \"true\",\n   cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue},\n"
            toReturn += "  {\""+i.argumentProperty+"\", \""+i.attributes["Switch"]+"\", \""+i.DisplayName+"\", \"\",\n   cmVS7FlagTable::UserValueRequired},\n"
      

Index: cmVS10CLFlagTable.h
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmVS10CLFlagTable.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -C 2 -d -r1.5 -r1.6
*** cmVS10CLFlagTable.h	22 Oct 2009 14:47:59 -0000	1.5
--- cmVS10CLFlagTable.h	23 Oct 2009 18:59:26 -0000	1.6
***************
*** 139,143 ****
     "Do Not Send Report", "None", 0},
    {"ErrorReporting", "errorReport:prompt",
!    "Prompt Immediatelly", "Prompt", 0},
    {"ErrorReporting", "errorReport:queue",
     "Queue For Next Login", "Queue", 0},
--- 139,143 ----
     "Do Not Send Report", "None", 0},
    {"ErrorReporting", "errorReport:prompt",
!    "Prompt Immediately", "Prompt", 0},
    {"ErrorReporting", "errorReport:queue",
     "Queue For Next Login", "Queue", 0},
***************
*** 183,187 ****
    {"FloatingPointExceptions", "fp:except-", "", "false", 0},
    {"FloatingPointExceptions", "fp:except", "", "true", 0},
!   {"CodeGeneration", "hotpatch", "", "true", 0},
    {"DisableLanguageExtensions", "Za", "", "true", 0},
    {"TreatWChar_tAsBuiltInType", "Zc:wchar_t-", "", "false", 0},
--- 183,187 ----
    {"FloatingPointExceptions", "fp:except-", "", "false", 0},
    {"FloatingPointExceptions", "fp:except", "", "true", 0},
!   {"CreateHotpatchableImage", "hotpatch", "", "true", 0},
    {"DisableLanguageExtensions", "Za", "", "true", 0},
    {"TreatWChar_tAsBuiltInType", "Zc:wchar_t-", "", "false", 0},
***************
*** 202,213 ****
  
    //Bool Properties With Argument
!   {"MultiProcessorCompilation", "MP", "", "true", cmVS7FlagTable::Continue},
    {"ProcessorNumber", "MP", "Multi-processor Compilation", "",
     cmVS7FlagTable::UserValueRequired},
    {"GenerateXMLDocumentationFiles", "doc", "", "true",
!    cmVS7FlagTable::Continue},
    {"XMLDocumentationFileName", "doc", "Generate XML Documentation Files", "",
     cmVS7FlagTable::UserValueRequired},
!   {"BrowseInformation", "FR", "", "true", cmVS7FlagTable::Continue},
    {"BrowseInformationFile", "FR", "Enable Browse Information", "",
     cmVS7FlagTable::UserValueRequired},
--- 202,215 ----
  
    //Bool Properties With Argument
!   {"MultiProcessorCompilation", "MP", "", "true",
!    cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue},
    {"ProcessorNumber", "MP", "Multi-processor Compilation", "",
     cmVS7FlagTable::UserValueRequired},
    {"GenerateXMLDocumentationFiles", "doc", "", "true",
!    cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue},
    {"XMLDocumentationFileName", "doc", "Generate XML Documentation Files", "",
     cmVS7FlagTable::UserValueRequired},
!   {"BrowseInformation", "FR", "", "true",
!    cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue},
    {"BrowseInformationFile", "FR", "Enable Browse Information", "",
     cmVS7FlagTable::UserValueRequired},
***************
*** 241,244 ****
--- 243,249 ----
    //String Properties
    // Skip [TrackerLogDirectory] - no command line Switch.
+   {"PreprocessOutputPath", "Fi",
+    "Preprocess Output Path",
+    "", cmVS7FlagTable::UserValue},
    {"PrecompiledHeaderFile", "Yc",
     "Precompiled Header Name",

Index: cmVS10LinkFlagTable.h
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmVS10LinkFlagTable.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -C 2 -d -r1.3 -r1.4
*** cmVS10LinkFlagTable.h	29 Sep 2009 20:37:06 -0000	1.3
--- cmVS10LinkFlagTable.h	23 Oct 2009 18:59:26 -0000	1.4
***************
*** 192,202 ****
  
    //Bool Properties With Argument
!   {"EnableUAC", "MANIFESTUAC:NO", "", "false", cmVS7FlagTable::Continue},
    {"EnableUAC", "MANIFESTUAC:NO", "Enable User Account Control (UAC)", "",
     cmVS7FlagTable::UserValueRequired},
!   {"EnableUAC", "MANIFESTUAC:", "", "true", cmVS7FlagTable::Continue},
    {"UACUIAccess", "MANIFESTUAC:", "Enable User Account Control (UAC)", "",
     cmVS7FlagTable::UserValueRequired},
!   {"GenerateMapFile", "MAP", "", "true", cmVS7FlagTable::Continue},
    {"MapFileName", "MAP", "Generate Map File", "",
     cmVS7FlagTable::UserValueRequired},
--- 192,205 ----
  
    //Bool Properties With Argument
!   {"EnableUAC", "MANIFESTUAC:NO", "", "false",
!    cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue},
    {"EnableUAC", "MANIFESTUAC:NO", "Enable User Account Control (UAC)", "",
     cmVS7FlagTable::UserValueRequired},
!   {"EnableUAC", "MANIFESTUAC:", "", "true",
!    cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue},
    {"UACUIAccess", "MANIFESTUAC:", "Enable User Account Control (UAC)", "",
     cmVS7FlagTable::UserValueRequired},
!   {"GenerateMapFile", "MAP", "", "true",
!    cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue},
    {"MapFileName", "MAP", "Generate Map File", "",
     cmVS7FlagTable::UserValueRequired},



More information about the Cmake-commits mailing list