[Cmake-commits] CMake branch, next, updated. v3.7.0-rc1-342-gdd75faf

Brad King brad.king at kitware.com
Mon Oct 10 12:59:17 EDT 2016


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  dd75faf01aecc93c32cbc5941d29033e33af0521 (commit)
       via  b1d67ae8a5a1334bfeaf802c55d517d8eaa0dbf9 (commit)
      from  1b79da2c9939c0674970d36ca282f0e4f62fa8c5 (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 -----------------------------------------------------------------
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=dd75faf01aecc93c32cbc5941d29033e33af0521
commit dd75faf01aecc93c32cbc5941d29033e33af0521
Merge: 1b79da2 b1d67ae
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Mon Oct 10 12:59:16 2016 -0400
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Mon Oct 10 12:59:16 2016 -0400

    Merge topic 'vs15-separate-flag-table' into next
    
    b1d67ae8 VS: Split flag table between v140 and v141 toolsets


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b1d67ae8a5a1334bfeaf802c55d517d8eaa0dbf9
commit b1d67ae8a5a1334bfeaf802c55d517d8eaa0dbf9
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Mon Oct 10 11:12:36 2016 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Mon Oct 10 11:43:39 2016 -0400

    VS: Split flag table between v140 and v141 toolsets
    
    In commit v3.7.0-rc1~156^2~1 (VS: Update v140 flag tables from VS 15
    MSBuild files, 2016-09-02) we extended the v140 flag table with values
    from the v141 toolset that comes with VS 15.  However, the v140 toolset
    that comes with VS 14 does not have all of these entries and so the
    flags just need to be passed without special mapping.  In order to
    support both toolsets, split our CL flag table into separate copies for
    each version and switch off the toolset name.
    
    Closes: #16352

diff --git a/Source/cmVS14CLFlagTable.h b/Source/cmVS140CLFlagTable.h
similarity index 95%
copy from Source/cmVS14CLFlagTable.h
copy to Source/cmVS140CLFlagTable.h
index c48db68..317cc18 100644
--- a/Source/cmVS14CLFlagTable.h
+++ b/Source/cmVS140CLFlagTable.h
@@ -1,4 +1,4 @@
-static cmVS7FlagTable cmVS14CLFlagTable[] = {
+static cmVS7FlagTable cmVS140CLFlagTable[] = {
 
   // Enum Properties
   { "DebugInformationFormat", "", "None", "None", 0 },
@@ -60,9 +60,6 @@ static cmVS7FlagTable cmVS14CLFlagTable[] = {
   { "BufferSecurityCheck", "GS-", "Disable Security Check", "false", 0 },
   { "BufferSecurityCheck", "GS", "Enable Security Check", "true", 0 },
 
-  { "ControlFlowGuard", "guard:cf", "Yes", "Guard", 0 },
-  { "ControlFlowGuard", "", "No", "false", 0 },
-
   { "EnableEnhancedInstructionSet", "arch:SSE", "Streaming SIMD Extensions",
     "StreamingSIMDExtensions", 0 },
   { "EnableEnhancedInstructionSet", "arch:SSE2", "Streaming SIMD Extensions 2",
@@ -79,10 +76,6 @@ static cmVS7FlagTable cmVS14CLFlagTable[] = {
   { "FloatingPointModel", "fp:strict", "Strict", "Strict", 0 },
   { "FloatingPointModel", "fp:fast", "Fast", "Fast", 0 },
 
-  { "LanguageStandard", "std:c++14", "ISO C++14 Standard", "stdcpp14", 0 },
-  { "LanguageStandard", "std:c++latest", "ISO C++ Latest Draft Standard",
-    "stdcpplatest", 0 },
-
   { "PrecompiledHeader", "Yc", "Create", "Create",
     cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue },
   { "PrecompiledHeader", "Yu", "Use", "Use",
@@ -171,9 +164,6 @@ static cmVS7FlagTable cmVS14CLFlagTable[] = {
   { "TreatWChar_tAsBuiltInType", "Zc:wchar_t", "", "true", 0 },
   { "ForceConformanceInForLoopScope", "Zc:forScope-", "", "false", 0 },
   { "ForceConformanceInForLoopScope", "Zc:forScope", "", "true", 0 },
-  { "RemoveUnreferencedCodeData", "Zc:inline", "", "true", 0 },
-  { "EnforceTypeConversionRules", "Zc:rvalueCast-", "", "false", 0 },
-  { "EnforceTypeConversionRules", "Zc:rvalueCast", "", "true", 0 },
   { "RuntimeTypeInfo", "GR-", "", "false", 0 },
   { "RuntimeTypeInfo", "GR", "", "true", 0 },
   { "OpenMPSupport", "openmp-", "", "false", 0 },
@@ -225,8 +215,6 @@ static cmVS7FlagTable cmVS14CLFlagTable[] = {
     "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable },
 
   // String Properties
-  { "WarningVersion", "Wv:", "Warning Version", "",
-    cmVS7FlagTable::UserValue },
   // Skip [TrackerLogDirectory] - no command line Switch.
   { "PreprocessOutputPath", "Fi", "Preprocess Output Path", "",
     cmVS7FlagTable::UserValue },
diff --git a/Source/cmVS14CLFlagTable.h b/Source/cmVS141CLFlagTable.h
similarity index 99%
rename from Source/cmVS14CLFlagTable.h
rename to Source/cmVS141CLFlagTable.h
index c48db68..895b3e8 100644
--- a/Source/cmVS14CLFlagTable.h
+++ b/Source/cmVS141CLFlagTable.h
@@ -1,4 +1,4 @@
-static cmVS7FlagTable cmVS14CLFlagTable[] = {
+static cmVS7FlagTable cmVS141CLFlagTable[] = {
 
   // Enum Properties
   { "DebugInformationFormat", "", "None", "None", 0 },
diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx
index d81f59d..cb47f20 100644
--- a/Source/cmVisualStudio10TargetGenerator.cxx
+++ b/Source/cmVisualStudio10TargetGenerator.cxx
@@ -25,7 +25,8 @@
 #include "cmVS12LinkFlagTable.h"
 #include "cmVS12MASMFlagTable.h"
 #include "cmVS12RCFlagTable.h"
-#include "cmVS14CLFlagTable.h"
+#include "cmVS140CLFlagTable.h"
+#include "cmVS141CLFlagTable.h"
 #include "cmVS14LibFlagTable.h"
 #include "cmVS14LinkFlagTable.h"
 #include "cmVS14MASMFlagTable.h"
@@ -43,7 +44,13 @@ cmIDEFlagTable const* cmVisualStudio10TargetGenerator::GetClFlagTable() const
     cmGlobalVisualStudioGenerator::VSVersion v =
       this->LocalGenerator->GetVersion();
     if (v >= cmGlobalVisualStudioGenerator::VS14) {
-      return cmVS14CLFlagTable;
+      // FIXME: All flag table selection should be based on the toolset name.
+      // See issue #16153.  For now, treat VS 15's toolset as a special case.
+      const char* toolset = this->GlobalGenerator->GetPlatformToolset();
+      if (toolset && cmHasLiteralPrefix(toolset, "v141")) {
+        return cmVS141CLFlagTable;
+      }
+      return cmVS140CLFlagTable;
     } else if (v >= cmGlobalVisualStudioGenerator::VS12) {
       return cmVS12CLFlagTable;
     } else if (v == cmGlobalVisualStudioGenerator::VS11) {

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

Summary of changes:
 Source/{cmVS14CLFlagTable.h => cmVS140CLFlagTable.h} |   14 +-------------
 Source/{cmVS14CLFlagTable.h => cmVS141CLFlagTable.h} |    2 +-
 Source/cmVisualStudio10TargetGenerator.cxx           |   11 +++++++++--
 3 files changed, 11 insertions(+), 16 deletions(-)
 copy Source/{cmVS14CLFlagTable.h => cmVS140CLFlagTable.h} (95%)
 rename Source/{cmVS14CLFlagTable.h => cmVS141CLFlagTable.h} (99%)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list