OSDN Git Service

[CMake] Use CMAKE_OBJCOPY and CMAKE_STRIP to externalize debug info
authorPetr Hosek <phosek@chromium.org>
Wed, 9 May 2018 00:07:42 +0000 (00:07 +0000)
committerPetr Hosek <phosek@chromium.org>
Wed, 9 May 2018 00:07:42 +0000 (00:07 +0000)
Don't hardcode objcopy and strip names, rather use CMAKE_OBJCOPY and
CMAKE_STRIP variables which allows users to override the tools used
such as using llvm-objcopy and llvm-strip instead of binutils versions.

Differential Revision: https://reviews.llvm.org/D46611

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@331827 91177308-0d34-0410-b5e6-96231b3b80d8

cmake/modules/AddLLVM.cmake

index a65b1ff..d631fcc 100644 (file)
@@ -1546,7 +1546,7 @@ function(llvm_externalize_debuginfo name)
     if(APPLE)
       set(strip_command COMMAND xcrun strip -Sxl $<TARGET_FILE:${name}>)
     else()
-      set(strip_command COMMAND strip -gx $<TARGET_FILE:${name}>)
+      set(strip_command COMMAND ${CMAKE_STRIP} -gx $<TARGET_FILE:${name}>)
     endif()
   endif()
 
@@ -1564,9 +1564,9 @@ function(llvm_externalize_debuginfo name)
       )
   else()
     add_custom_command(TARGET ${name} POST_BUILD
-      COMMAND objcopy --only-keep-debug $<TARGET_FILE:${name}> $<TARGET_FILE:${name}>.debug
+      COMMAND ${CMAKE_OBJCOPY} --only-keep-debug $<TARGET_FILE:${name}> $<TARGET_FILE:${name}>.debug
       ${strip_command} -R .gnu_debuglink
-      COMMAND objcopy --add-gnu-debuglink=$<TARGET_FILE:${name}>.debug $<TARGET_FILE:${name}>
+      COMMAND ${CMAKE_OBJCOPY} --add-gnu-debuglink=$<TARGET_FILE:${name}>.debug $<TARGET_FILE:${name}>
       )
   endif()
 endfunction()