[Lldb-commits] [lldb] r363271 - [CMake] Add fallbacks for copying clang-resource-headers to LLDB.framework in standalone builds

Stefan Granitz via lldb-commits lldb-commits at lists.llvm.org
Thu Jun 13 08:07:56 PDT 2019


Author: stefan.graenitz
Date: Thu Jun 13 08:07:56 2019
New Revision: 363271

URL: http://llvm.org/viewvc/llvm-project?rev=363271&view=rev
Log:
[CMake] Add fallbacks for copying clang-resource-headers to LLDB.framework in standalone builds

Modified:
    lldb/trunk/cmake/modules/LLDBFramework.cmake

Modified: lldb/trunk/cmake/modules/LLDBFramework.cmake
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/cmake/modules/LLDBFramework.cmake?rev=363271&r1=363270&r2=363271&view=diff
==============================================================================
--- lldb/trunk/cmake/modules/LLDBFramework.cmake (original)
+++ lldb/trunk/cmake/modules/LLDBFramework.cmake Thu Jun 13 08:07:56 2019
@@ -84,11 +84,33 @@ add_custom_command(TARGET lldb-framework
 )
 
 # Copy vendor-specific headers from clang (without staging).
-if(NOT IOS AND NOT LLDB_BUILT_STANDALONE)
-  add_dependencies(lldb-framework clang-resource-headers)
+if(NOT IOS)
+  if (TARGET clang-resource-headers)
+    add_dependencies(lldb-framework clang-resource-headers)
+    set(clang_resource_headers_dir $<TARGET_PROPERTY:clang-resource-headers,RUNTIME_OUTPUT_DIRECTORY>)
+  else()
+    # In standalone builds try the best possible guess
+    if(Clang_DIR)
+      set(clang_lib_dir ${Clang_DIR}/../..)
+    elseif(LLVM_DIR)
+      set(clang_lib_dir ${LLVM_DIR}/../..)
+    elseif(LLVM_LIBRARY_DIRS)
+      set(clang_lib_dir ${LLVM_LIBRARY_DIRS})
+    elseif(LLVM_BUILD_LIBRARY_DIR)
+      set(clang_lib_dir ${LLVM_BUILD_LIBRARY_DIR})
+    elseif(LLVM_BINARY_DIR)
+      set(clang_lib_dir ${LLVM_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX})
+    endif()
+    set(clang_version ${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH})
+    set(clang_resource_headers_dir ${clang_lib_dir}/clang/${clang_version}/include)
+    if(NOT EXISTS ${clang_resource_headers_dir})
+      message(WARNING "Expected directory for clang-resource headers not found: ${clang_resource_headers_dir}")
+    endif()
+  endif()
+
   add_custom_command(TARGET lldb-framework POST_BUILD
     COMMAND ${CMAKE_COMMAND} -E copy_directory
-            $<TARGET_PROPERTY:clang-resource-headers,RUNTIME_OUTPUT_DIRECTORY>
+            ${clang_resource_headers_dir}
             $<TARGET_FILE_DIR:liblldb>/Resources/Clang/include
     COMMENT "LLDB.framework: copy clang vendor-specific headers"
   )




More information about the lldb-commits mailing list