philip.pfaffe created this revision.
philip.pfaffe added reviewers: mgorny, beanz, gottesmm.
Herald added a subscriber: bollu.

Out-of-tree tools trying to parse source files need the builtin headers
such as `stddef.h`. If the tool isn't installed together with clang, it
can't find them automatically. Exporting the location makes this much
easier.

(Resubmitting because I've subscribed the wrong list, sorry for the noise).


https://reviews.llvm.org/D49486

Files:
  clang/cmake/modules/CMakeLists.txt
  clang/cmake/modules/ClangConfig.cmake.in


Index: clang/cmake/modules/ClangConfig.cmake.in
===================================================================
--- clang/cmake/modules/ClangConfig.cmake.in
+++ clang/cmake/modules/ClangConfig.cmake.in
@@ -8,6 +8,7 @@
 set(CLANG_EXPORTED_TARGETS "@CLANG_EXPORTS@")
 set(CLANG_CMAKE_DIR "@CLANG_CONFIG_CMAKE_DIR@")
 set(CLANG_INCLUDE_DIRS "@CLANG_CONFIG_INCLUDE_DIRS@")
+set(CLANG_RESOURCE_DIR "@CLANG_CONFIG_RESOURCE_DIR@")
 
 # Provide all our library targets to users.
 include("@CLANG_CONFIG_EXPORTS_FILE@")
Index: clang/cmake/modules/CMakeLists.txt
===================================================================
--- clang/cmake/modules/CMakeLists.txt
+++ clang/cmake/modules/CMakeLists.txt
@@ -19,6 +19,13 @@
   "${CLANG_SOURCE_DIR}/include"
   "${CLANG_BINARY_DIR}/include"
   )
+if (CLANG_RESOURCE_DIR)
+  set(CLANG_CONFIG_RESOURCE_DIR ${CLANG_RESOURCE_DIR})
+else()
+  set(CLANG_CONFIG_RESOURCE_DIR
+    ${LLVM_LIBRARY_OUTPUT_INTDIR}/clang/${CLANG_VERSION}/include)
+endif()
+
 configure_file(
   ${CMAKE_CURRENT_SOURCE_DIR}/ClangConfig.cmake.in
   ${clang_cmake_builddir}/ClangConfig.cmake


Index: clang/cmake/modules/ClangConfig.cmake.in
===================================================================
--- clang/cmake/modules/ClangConfig.cmake.in
+++ clang/cmake/modules/ClangConfig.cmake.in
@@ -8,6 +8,7 @@
 set(CLANG_EXPORTED_TARGETS "@CLANG_EXPORTS@")
 set(CLANG_CMAKE_DIR "@CLANG_CONFIG_CMAKE_DIR@")
 set(CLANG_INCLUDE_DIRS "@CLANG_CONFIG_INCLUDE_DIRS@")
+set(CLANG_RESOURCE_DIR "@CLANG_CONFIG_RESOURCE_DIR@")
 
 # Provide all our library targets to users.
 include("@CLANG_CONFIG_EXPORTS_FILE@")
Index: clang/cmake/modules/CMakeLists.txt
===================================================================
--- clang/cmake/modules/CMakeLists.txt
+++ clang/cmake/modules/CMakeLists.txt
@@ -19,6 +19,13 @@
   "${CLANG_SOURCE_DIR}/include"
   "${CLANG_BINARY_DIR}/include"
   )
+if (CLANG_RESOURCE_DIR)
+  set(CLANG_CONFIG_RESOURCE_DIR ${CLANG_RESOURCE_DIR})
+else()
+  set(CLANG_CONFIG_RESOURCE_DIR
+    ${LLVM_LIBRARY_OUTPUT_INTDIR}/clang/${CLANG_VERSION}/include)
+endif()
+
 configure_file(
   ${CMAKE_CURRENT_SOURCE_DIR}/ClangConfig.cmake.in
   ${clang_cmake_builddir}/ClangConfig.cmake
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
  • [PATCH] D49486: [cfe][CMake]... Philip Pfaffe via Phabricator via cfe-commits

Reply via email to