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  74a03183ffc0982cd948bf76ce84f7891b585d1e (commit)
       via  a7c5d5fb0e8d096dfc9b6e82e93f1e0d6225fe1f (commit)
      from  c16ab966d519e8d8cb7bb073cc9b3e8d507b5cca (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=74a03183ffc0982cd948bf76ce84f7891b585d1e
commit 74a03183ffc0982cd948bf76ce84f7891b585d1e
Merge: c16ab96 a7c5d5f
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Wed Jan 11 10:50:36 2017 -0500
Commit:     CMake Topic Stage <kwro...@kitware.com>
CommitDate: Wed Jan 11 10:50:36 2017 -0500

    Merge topic 'get_prerequisites_delayload' into next
    
    a7c5d5fb GetPrerequisites: Exclude delay load dependencies on Windows


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a7c5d5fb0e8d096dfc9b6e82e93f1e0d6225fe1f
commit a7c5d5fb0e8d096dfc9b6e82e93f1e0d6225fe1f
Author:     Pascal Thomet <ptho...@gmail.com>
AuthorDate: Thu Dec 22 12:28:26 2016 +0100
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Wed Jan 11 10:48:36 2017 -0500

    GetPrerequisites: Exclude delay load dependencies on Windows
    
    With some Windows toolchains we use `objdump` which does not mention
    delay load dependencies in its output.  Therefore, to get consistent
    behavior we should always ignore them.
    
    Use the `dumpbin` message "Image has the following delay load
    dependencies" that precedes the delay load dependencies to recognize and
    skip them.  Fortunately, this message is not translated to the current
    locale (at least on "Windows 7 French", "Windows 10 French" and "Windows
    Server 2008 R2 French").
    
    Fixes: #16241

diff --git a/Modules/GetPrerequisites.cmake b/Modules/GetPrerequisites.cmake
index 72775ce..d0cd5b9 100644
--- a/Modules/GetPrerequisites.cmake
+++ b/Modules/GetPrerequisites.cmake
@@ -810,6 +810,20 @@ function(get_prerequisites target prerequisites_var 
exclude_system recurse exepa
     OUTPUT_VARIABLE gp_cmd_ov
     ERROR_VARIABLE gp_ev
     )
+
+  if(gp_tool STREQUAL "dumpbin")
+    # Exclude delay load dependencies under windows (they are listed in 
dumpbin output after the message below)
+    string(FIND "${gp_cmd_ov}" "Image has the following delay load 
dependencies" gp_delayload_pos)
+    if (${gp_delayload_pos} GREATER -1)
+      string(SUBSTRING "${gp_cmd_ov}" 0 ${gp_delayload_pos} 
gp_cmd_ov_no_delayload_deps)
+      string(SUBSTRING "${gp_cmd_ov}" ${gp_delayload_pos} -1 
gp_cmd_ov_delayload_deps)
+      if (verbose)
+        message(STATUS "GetPrequisites(${target}) : ignoring the following 
delay load dependencies :\n ${gp_cmd_ov_delayload_deps}")
+      endif()
+      set(gp_cmd_ov ${gp_cmd_ov_no_delayload_deps})
+    endif()
+  endif()
+
   if(NOT gp_rv STREQUAL "0")
     if(gp_tool STREQUAL "dumpbin")
       # dumpbin error messages seem to go to stdout

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

Summary of changes:
 Modules/GetPrerequisites.cmake |   14 ++++++++++++++
 1 file changed, 14 insertions(+)


hooks/post-receive
-- 
CMake
_______________________________________________
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/mailman/listinfo/cmake-commits

Reply via email to