https://github.com/cianciosa created 
https://github.com/llvm/llvm-project/pull/234444

By default, when building as a subproject using cmake's FetchContent, llvm will 
be built in `build/_deps/llvm-build`. However `CMAKE_BINARY_DIR` will still 
resolve to the `build` directory. This results in include directories having 
the wrong path causing the compiler to fail to locate the `.h.inc` files for 
mlir.

>From 6b8844ab6b1cd32bb22fd5290e5e7b50320d693c Mon Sep 17 00:00:00 2001
From: cianciosa <[email protected]>
Date: Wed, 21 Oct 2026 20:12:55 -0400
Subject: [PATCH] Make tools/mlir include path realtive to the current binary
 directory. This ensures it retains the correct path when build using
 FetchContent.

---
 clang/lib/CIR/CMakeLists.txt              | 2 +-
 clang/tools/cir-lsp-server/CMakeLists.txt | 2 +-
 clang/tools/cir-opt/CMakeLists.txt        | 2 +-
 clang/tools/cir-translate/CMakeLists.txt  | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/clang/lib/CIR/CMakeLists.txt b/clang/lib/CIR/CMakeLists.txt
index c63c84afc8fa31..ffc94eaf297a64 100644
--- a/clang/lib/CIR/CMakeLists.txt
+++ b/clang/lib/CIR/CMakeLists.txt
@@ -1,5 +1,5 @@
 include_directories(${LLVM_MAIN_SRC_DIR}/../mlir/include)
-include_directories(${CMAKE_BINARY_DIR}/tools/mlir/include)
+include_directories(${CMAKE_CURRENT_BINARY_DIR}/../../../../tools/mlir/include)
 
 add_subdirectory(Dialect)
 add_subdirectory(CodeGen)
diff --git a/clang/tools/cir-lsp-server/CMakeLists.txt 
b/clang/tools/cir-lsp-server/CMakeLists.txt
index c92019a8d63fb9..724d67631452c7 100644
--- a/clang/tools/cir-lsp-server/CMakeLists.txt
+++ b/clang/tools/cir-lsp-server/CMakeLists.txt
@@ -1,5 +1,5 @@
 include_directories(${LLVM_MAIN_SRC_DIR}/../mlir/include)
-include_directories(${CMAKE_BINARY_DIR}/tools/mlir/include)
+include_directories(${CMAKE_CURRENT_BINARY_DIR}/../../../../tools/mlir/include)
 
 set(LIBS
   ${test_libs}
diff --git a/clang/tools/cir-opt/CMakeLists.txt 
b/clang/tools/cir-opt/CMakeLists.txt
index e64f5c3dad69bd..653e74cd46e911 100644
--- a/clang/tools/cir-opt/CMakeLists.txt
+++ b/clang/tools/cir-opt/CMakeLists.txt
@@ -1,5 +1,5 @@
 include_directories(${LLVM_MAIN_SRC_DIR}/../mlir/include)
-include_directories(${CMAKE_BINARY_DIR}/tools/mlir/include)
+include_directories(${CMAKE_CURRENT_BINARY_DIR}/../../../../tools/mlir/include)
 
 if(CLANG_INCLUDE_TESTS)
   set(cir_opt_test_libs CIRTestAnalysis)
diff --git a/clang/tools/cir-translate/CMakeLists.txt 
b/clang/tools/cir-translate/CMakeLists.txt
index f3b7b8533a7bcf..481060a1c285b9 100644
--- a/clang/tools/cir-translate/CMakeLists.txt
+++ b/clang/tools/cir-translate/CMakeLists.txt
@@ -1,5 +1,5 @@
 include_directories(${LLVM_MAIN_SRC_DIR}/../mlir/include)
-include_directories(${CMAKE_BINARY_DIR}/tools/mlir/include)
+include_directories(${CMAKE_CURRENT_BINARY_DIR}/../../../../tools/mlir/include)
 
 add_clang_tool(cir-translate
   cir-translate.cpp

_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to