[Cmake-commits] CMake branch, master, updated. v3.9.0-rc3-124-g622b4dd

Kitware Robot kwrobot at kitware.com
Mon Jun 19 11:35:03 EDT 2017


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, master has been updated
       via  622b4dd785e6491c55b87c3a3f23997d66e95988 (commit)
       via  7c369ebf03262330bb60d592f18a78f4ac5671db (commit)
       via  8b9d8c4ddc9ff4d4cac396e84c8a44c622871ee9 (commit)
       via  ec7b3af7e74defa608f4cb0debe329614c401635 (commit)
      from  3558fe06579d4c4148c01ee112cc492f91fd3045 (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=622b4dd785e6491c55b87c3a3f23997d66e95988
commit 622b4dd785e6491c55b87c3a3f23997d66e95988
Merge: 7c369eb ec7b3af
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Mon Jun 19 15:27:20 2017 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Mon Jun 19 11:27:30 2017 -0400

    Merge topic 'vs_csharp_fix_win32manifest_param'
    
    ec7b3af7 Vs: remove /nowin32manifest from C# flags to enable default VS behavior
    
    Acked-by: Kitware Robot <kwrobot at kitware.com>
    Merge-request: !969


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=7c369ebf03262330bb60d592f18a78f4ac5671db
commit 7c369ebf03262330bb60d592f18a78f4ac5671db
Merge: 3558fe0 8b9d8c4
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Mon Jun 19 15:27:03 2017 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Mon Jun 19 11:27:10 2017 -0400

    Merge topic 'FindHDF5-parallel-from-wrapper'
    
    8b9d8c4d FindHDF5: Fix parallel detection when primary compiler is an HDF5 wrapper
    
    Acked-by: Kitware Robot <kwrobot at kitware.com>
    Merge-request: !974


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=8b9d8c4ddc9ff4d4cac396e84c8a44c622871ee9
commit 8b9d8c4ddc9ff4d4cac396e84c8a44c622871ee9
Author:     Chuck Atkins <chuck.atkins at kitware.com>
AuthorDate: Thu Jun 15 15:04:01 2017 -0500
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Fri Jun 16 11:40:02 2017 -0400

    FindHDF5: Fix parallel detection when primary compiler is an HDF5 wrapper
    
    This is covering a different use case where your primary compilers are
    HDF5 wrappers, as is the case when using the Cray Programming
    Environment. The existing code tries to query the compiler using options
    only available to h5cc and friends, which doesn't work when your wrapper
    is not h5cc, as is the case with the CrayPE. This change instead pulls
    strings out of a test binary when testing for "is your regular compiler
    an HDF5 wrapper" while the "query wrapper for options" is reserved for
    the "I found the hdf5 wrappers but they're not your main compiler" mode.

diff --git a/Modules/FindHDF5.cmake b/Modules/FindHDF5.cmake
index 5962c5b..2d9d2a2 100644
--- a/Modules/FindHDF5.cmake
+++ b/Modules/FindHDF5.cmake
@@ -187,8 +187,16 @@ function(_HDF5_test_regular_compiler_C success version is_parallel)
     file(WRITE ${test_file}
       "#include <hdf5.h>\n"
       "#include <hdf5_hl.h>\n"
-      "int main(void) {\n"
-      "  char const* info_ver = \"INFO\" \":\" H5_VERSION;\n"
+      "const char* info_ver = \"INFO\" \":\" H5_VERSION;\n"
+      "#ifdef H5_HAVE_PARALLEL\n"
+      "const char* info_parallel = \"INFO\" \":\" \"PARALLEL\";\n"
+      "#endif\n"
+      "int main(int argc, char **argv) {\n"
+      "  int require = 0;\n"
+      "  require += info_ver[argc];\n"
+      "#ifdef H5_HAVE_PARALLEL\n"
+      "  require += info_parallel[argc];\n"
+      "#endif\n"
       "  hid_t fid;\n"
       "  fid = H5Fcreate(\"foo.h5\",H5F_ACC_TRUNC,H5P_DEFAULT,H5P_DEFAULT);\n"
       "  return 0;\n"
@@ -198,11 +206,11 @@ function(_HDF5_test_regular_compiler_C success version is_parallel)
     )
   endif()
   if(${success})
-    file(STRINGS ${scratch_directory}/compiler_has_h5_c INFO_VER
-      REGEX "^INFO:([0-9]+\\.[0-9]+\\.[0-9]+)(-patch([0-9]+))?"
+    file(STRINGS ${scratch_directory}/compiler_has_h5_c INFO_STRINGS
+      REGEX "^INFO:"
     )
     string(REGEX MATCH "^INFO:([0-9]+\\.[0-9]+\\.[0-9]+)(-patch([0-9]+))?"
-      INFO_VER "${INFO_VER}"
+      INFO_VER "${INFO_STRINGS}"
     )
     set(${version} ${CMAKE_MATCH_1})
     if(CMAKE_MATCH_3)
@@ -210,12 +218,7 @@ function(_HDF5_test_regular_compiler_C success version is_parallel)
     endif()
     set(${version} ${${version}} PARENT_SCOPE)
 
-    execute_process(COMMAND ${CMAKE_C_COMPILER} -showconfig
-      OUTPUT_VARIABLE config_output
-      ERROR_VARIABLE config_error
-      RESULT_VARIABLE config_result
-      )
-    if(config_output MATCHES "Parallel HDF5: yes")
+    if(INFO_STRINGS MATCHES "INFO:PARALLEL")
       set(${is_parallel} TRUE PARENT_SCOPE)
     else()
       set(${is_parallel} FALSE PARENT_SCOPE)
@@ -233,8 +236,16 @@ function(_HDF5_test_regular_compiler_CXX success version is_parallel)
       "#ifndef H5_NO_NAMESPACE\n"
       "using namespace H5;\n"
       "#endif\n"
+      "const char* info_ver = \"INFO\" \":\" H5_VERSION;\n"
+      "#ifdef H5_HAVE_PARALLEL\n"
+      "const char* info_parallel = \"INFO\" \":\" \"PARALLEL\";\n"
+      "#endif\n"
       "int main(int argc, char **argv) {\n"
-      "  char const* info_ver = \"INFO\" \":\" H5_VERSION;\n"
+      "  int require = 0;\n"
+      "  require += info_ver[argc];\n"
+      "#ifdef H5_HAVE_PARALLEL\n"
+      "  require += info_parallel[argc];\n"
+      "#endif\n"
       "  H5File file(\"foo.h5\", H5F_ACC_TRUNC);\n"
       "  return 0;\n"
       "}")
@@ -243,11 +254,11 @@ function(_HDF5_test_regular_compiler_CXX success version is_parallel)
     )
   endif()
   if(${success})
-    file(STRINGS ${scratch_directory}/compiler_has_h5_cxx INFO_VER
-      REGEX "^INFO:([0-9]+\\.[0-9]+\\.[0-9]+)(-patch([0-9]+))?"
+    file(STRINGS ${scratch_directory}/compiler_has_h5_cxx INFO_STRINGS
+      REGEX "^INFO:"
     )
     string(REGEX MATCH "^INFO:([0-9]+\\.[0-9]+\\.[0-9]+)(-patch([0-9]+))?"
-      INFO_VER "${INFO_VER}"
+      INFO_VER "${INFO_STRINGS}"
     )
     set(${version} ${CMAKE_MATCH_1})
     if(CMAKE_MATCH_3)
@@ -255,12 +266,7 @@ function(_HDF5_test_regular_compiler_CXX success version is_parallel)
     endif()
     set(${version} ${${version}} PARENT_SCOPE)
 
-    execute_process(COMMAND ${CMAKE_CXX_COMPILER} -showconfig
-      OUTPUT_VARIABLE config_output
-      ERROR_VARIABLE config_error
-      RESULT_VARIABLE config_result
-      )
-    if(config_output MATCHES "Parallel HDF5: yes")
+    if(INFO_STRINGS MATCHES "INFO:PARALLEL")
       set(${is_parallel} TRUE PARENT_SCOPE)
     else()
       set(${is_parallel} FALSE PARENT_SCOPE)

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ec7b3af7e74defa608f4cb0debe329614c401635
commit ec7b3af7e74defa608f4cb0debe329614c401635
Author:     Michael Stürmer <michael.stuermer at schaeffler.com>
AuthorDate: Wed Jun 14 11:30:43 2017 +0200
Commit:     Michael Stürmer <michael.stuermer at schaeffler.com>
CommitDate: Fri Jun 16 09:33:06 2017 +0200

    Vs: remove /nowin32manifest from C# flags to enable default VS behavior
    
    if /nowin32manifest is specified, it will be preferred over any occurring
    /win32manifest:<file> parameter
    
    Fixes: #16969, #16970

diff --git a/Modules/CMakeCSharpInformation.cmake b/Modules/CMakeCSharpInformation.cmake
index cd86016..d474c29 100644
--- a/Modules/CMakeCSharpInformation.cmake
+++ b/Modules/CMakeCSharpInformation.cmake
@@ -10,7 +10,7 @@ get_filename_component(CMAKE_BASE_NAME "${CMAKE_CSharp_COMPILER}" NAME_WE)
 
 set(CMAKE_BUILD_TYPE_INIT Debug)
 
-set(CMAKE_CSharp_FLAGS_INIT "/define:TRACE /langversion:3 /nowin32manifest")
+set(CMAKE_CSharp_FLAGS_INIT "/define:TRACE /langversion:3")
 set(CMAKE_CSharp_FLAGS_DEBUG_INIT "/debug:full /optimize- /warn:3 /errorreport:prompt /define:DEBUG")
 set(CMAKE_CSharp_FLAGS_RELEASE_INIT "/debug:none /optimize  /warn:1  /errorreport:queue")
 set(CMAKE_CSharp_FLAGS_RELWITHDEBINFO_INIT "/debug:full /optimize-")
diff --git a/Source/cmVS10CSharpFlagTable.h b/Source/cmVS10CSharpFlagTable.h
index 493ec2b..18d587c 100644
--- a/Source/cmVS10CSharpFlagTable.h
+++ b/Source/cmVS10CSharpFlagTable.h
@@ -25,7 +25,8 @@ static cmVS7FlagTable cmVS10CSharpFlagTable[] = {
   { "ApplicationIcon", "win32icon", "", "",
     cmIDEFlagTable::UserValueRequired },
 
-  { "Win32Manifest", "win32manifest:", "", "true", 0 },
+  { "ApplicationManifest", "win32manifest:", "", "",
+    cmIDEFlagTable::UserValueRequired },
 
   { "NoWin32Manifest", "nowin32manifest", "", "true", 0 },
 
diff --git a/Source/cmVS11CSharpFlagTable.h b/Source/cmVS11CSharpFlagTable.h
index 71870b6..e3ba83c 100644
--- a/Source/cmVS11CSharpFlagTable.h
+++ b/Source/cmVS11CSharpFlagTable.h
@@ -25,7 +25,8 @@ static cmVS7FlagTable cmVS11CSharpFlagTable[] = {
   { "ApplicationIcon", "win32icon", "", "",
     cmIDEFlagTable::UserValueRequired },
 
-  { "Win32Manifest", "win32manifest:", "", "true", 0 },
+  { "ApplicationManifest", "win32manifest:", "", "",
+    cmIDEFlagTable::UserValueRequired },
 
   { "NoWin32Manifest", "nowin32manifest", "", "true", 0 },
 
diff --git a/Source/cmVS12CSharpFlagTable.h b/Source/cmVS12CSharpFlagTable.h
index f98b184..f8db636 100644
--- a/Source/cmVS12CSharpFlagTable.h
+++ b/Source/cmVS12CSharpFlagTable.h
@@ -25,7 +25,8 @@ static cmVS7FlagTable cmVS12CSharpFlagTable[] = {
   { "ApplicationIcon", "win32icon", "", "",
     cmIDEFlagTable::UserValueRequired },
 
-  { "Win32Manifest", "win32manifest:", "", "true", 0 },
+  { "ApplicationManifest", "win32manifest:", "", "",
+    cmIDEFlagTable::UserValueRequired },
 
   { "NoWin32Manifest", "nowin32manifest", "", "true", 0 },
 
diff --git a/Source/cmVS140CSharpFlagTable.h b/Source/cmVS140CSharpFlagTable.h
index 256c35f..055d5cb 100644
--- a/Source/cmVS140CSharpFlagTable.h
+++ b/Source/cmVS140CSharpFlagTable.h
@@ -25,7 +25,8 @@ static cmVS7FlagTable cmVS140CSharpFlagTable[] = {
   { "ApplicationIcon", "win32icon", "", "",
     cmIDEFlagTable::UserValueRequired },
 
-  { "Win32Manifest", "win32manifest:", "", "true", 0 },
+  { "ApplicationManifest", "win32manifest:", "", "",
+    cmIDEFlagTable::UserValueRequired },
 
   { "NoWin32Manifest", "nowin32manifest", "", "true", 0 },
 
diff --git a/Source/cmVS141CSharpFlagTable.h b/Source/cmVS141CSharpFlagTable.h
index 8508581..5de9bf3 100644
--- a/Source/cmVS141CSharpFlagTable.h
+++ b/Source/cmVS141CSharpFlagTable.h
@@ -25,7 +25,8 @@ static cmVS7FlagTable cmVS141CSharpFlagTable[] = {
   { "ApplicationIcon", "win32icon", "", "",
     cmIDEFlagTable::UserValueRequired },
 
-  { "Win32Manifest", "win32manifest:", "", "true", 0 },
+  { "ApplicationManifest", "win32manifest:", "", "",
+    cmIDEFlagTable::UserValueRequired },
 
   { "NoWin32Manifest", "nowin32manifest", "", "true", 0 },
 
diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx
index 5a67477..d689dcf 100644
--- a/Source/cmVisualStudio10TargetGenerator.cxx
+++ b/Source/cmVisualStudio10TargetGenerator.cxx
@@ -2340,6 +2340,12 @@ bool cmVisualStudio10TargetGenerator::ComputeClOptions(
       clOptions.AddFlag("CallingConvention", "");
     }
   }
+  if (csproj == this->ProjectType) {
+    // /nowin32manifest overrides /win32manifest: parameter
+    if (clOptions.HasFlag("NoWin32Manifest")) {
+      clOptions.RemoveFlag("ApplicationManifest");
+    }
+  }
 
   this->ClOptions[configName] = pOptions.release();
   return true;

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

Summary of changes:
 Modules/CMakeCSharpInformation.cmake       |    2 +-
 Modules/FindHDF5.cmake                     |   48 ++++++++++++++++------------
 Source/cmVS10CSharpFlagTable.h             |    3 +-
 Source/cmVS11CSharpFlagTable.h             |    3 +-
 Source/cmVS12CSharpFlagTable.h             |    3 +-
 Source/cmVS140CSharpFlagTable.h            |    3 +-
 Source/cmVS141CSharpFlagTable.h            |    3 +-
 Source/cmVisualStudio10TargetGenerator.cxx |    6 ++++
 8 files changed, 44 insertions(+), 27 deletions(-)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list