Removing IREE_COMMON_INCLUDE_DIRS and uses by LLVM/MLIR.
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9d57f82..a1ae223 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -336,11 +336,11 @@
message(STATUS "Adding bundled LLVM source dependency")
add_iree_mlir_src_dep("third_party/llvm-project")
- # Extend module path to allow submodules to use LLVM and MLIR CMake modules
+ # Extend module path to allow submodules to use LLVM and MLIR CMake modules.
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_BINARY_DIR}/lib/cmake/mlir")
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_BINARY_DIR}/third_party/llvm-project/llvm/lib/cmake/llvm/")
- # Set include directories
+ # Add the bundled include directories for cmake files looking for them.
list(APPEND LLVM_INCLUDE_DIRS
${CMAKE_CURRENT_SOURCE_DIR}/third_party/llvm-project/llvm/include
${CMAKE_CURRENT_BINARY_DIR}/third_party/llvm-project/llvm/include
@@ -350,6 +350,17 @@
${CMAKE_CURRENT_BINARY_DIR}/third_party/llvm-project/llvm/tools/mlir/include
)
+ # Avoid globally modifying paths by instead adding the include paths to the
+ # rules that really should have them in the first place.
+ target_include_directories(LLVMSupport PUBLIC
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/third_party/llvm-project/llvm/include>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/third_party/llvm-project/llvm/include>
+ )
+ target_include_directories(MLIRSupport PUBLIC
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/third_party/llvm-project/mlir/include>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/third_party/llvm-project/llvm/tools/mlir/include>
+ )
+
# Set build option to use MHLO alongside with bundled MLIR
set(MHLO_BUILD_EMBEDDED ON)
elseif(${IREE_MLIR_DEP_MODE} STREQUAL "INSTALLED")
diff --git a/build_tools/cmake/external_cc_library.cmake b/build_tools/cmake/external_cc_library.cmake
index 42859a3..f5a3cf1 100644
--- a/build_tools/cmake/external_cc_library.cmake
+++ b/build_tools/cmake/external_cc_library.cmake
@@ -122,7 +122,8 @@
)
target_include_directories(${_NAME} SYSTEM
PUBLIC
- "$<BUILD_INTERFACE:${IREE_COMMON_INCLUDE_DIRS}>"
+ "$<BUILD_INTERFACE:${IREE_SOURCE_DIR}>"
+ "$<BUILD_INTERFACE:${IREE_BINARY_DIR}>"
"$<BUILD_INTERFACE:${_RULE_INCLUDES}>"
)
target_compile_options(${_NAME}
@@ -164,7 +165,8 @@
add_library(${_NAME} INTERFACE)
target_include_directories(${_NAME} SYSTEM
INTERFACE
- "$<BUILD_INTERFACE:${IREE_COMMON_INCLUDE_DIRS}>"
+ "$<BUILD_INTERFACE:${IREE_SOURCE_DIR}>"
+ "$<BUILD_INTERFACE:${IREE_BINARY_DIR}>"
"$<BUILD_INTERFACE:${_RULE_INCLUDES}>"
)
target_compile_options(${_NAME}
diff --git a/build_tools/cmake/flatbuffer_c_library.cmake b/build_tools/cmake/flatbuffer_c_library.cmake
index 8435980..23ade0c 100644
--- a/build_tools/cmake/flatbuffer_c_library.cmake
+++ b/build_tools/cmake/flatbuffer_c_library.cmake
@@ -126,7 +126,8 @@
add_dependencies(${_NAME} ${_GEN_TARGET})
target_include_directories(${_NAME} SYSTEM
INTERFACE
- "$<BUILD_INTERFACE:${IREE_COMMON_INCLUDE_DIRS}>"
+ "$<BUILD_INTERFACE:${IREE_SOURCE_DIR}>"
+ "$<BUILD_INTERFACE:${IREE_BINARY_DIR}>"
${CMAKE_CURRENT_BINARY_DIR}
)
target_link_libraries(${_NAME}
diff --git a/build_tools/cmake/iree_cc_binary.cmake b/build_tools/cmake/iree_cc_binary.cmake
index c2fb503..3192d2b 100644
--- a/build_tools/cmake/iree_cc_binary.cmake
+++ b/build_tools/cmake/iree_cc_binary.cmake
@@ -112,7 +112,8 @@
endif()
target_include_directories(${_NAME} SYSTEM
PUBLIC
- ${IREE_COMMON_INCLUDE_DIRS}
+ "$<BUILD_INTERFACE:${IREE_SOURCE_DIR}>"
+ "$<BUILD_INTERFACE:${IREE_BINARY_DIR}>"
)
target_compile_definitions(${_NAME}
PUBLIC
diff --git a/build_tools/cmake/iree_cc_library.cmake b/build_tools/cmake/iree_cc_library.cmake
index ba53a10..ad8852f 100644
--- a/build_tools/cmake/iree_cc_library.cmake
+++ b/build_tools/cmake/iree_cc_library.cmake
@@ -122,7 +122,8 @@
)
target_include_directories(${_NAME} SYSTEM
PUBLIC
- "$<BUILD_INTERFACE:${IREE_COMMON_INCLUDE_DIRS}>"
+ "$<BUILD_INTERFACE:${IREE_SOURCE_DIR}>"
+ "$<BUILD_INTERFACE:${IREE_BINARY_DIR}>"
)
target_include_directories(${_NAME}
PUBLIC
@@ -172,7 +173,8 @@
add_library(${_NAME} INTERFACE)
target_include_directories(${_NAME} SYSTEM
INTERFACE
- "$<BUILD_INTERFACE:${IREE_COMMON_INCLUDE_DIRS}>"
+ "$<BUILD_INTERFACE:${IREE_SOURCE_DIR}>"
+ "$<BUILD_INTERFACE:${IREE_BINARY_DIR}>"
)
target_compile_options(${_NAME}
INTERFACE
diff --git a/build_tools/cmake/iree_cc_test.cmake b/build_tools/cmake/iree_cc_test.cmake
index 98d4e1a..138fdbe 100644
--- a/build_tools/cmake/iree_cc_test.cmake
+++ b/build_tools/cmake/iree_cc_test.cmake
@@ -82,7 +82,8 @@
)
target_include_directories(${_NAME} SYSTEM
PUBLIC
- ${IREE_COMMON_INCLUDE_DIRS}
+ "$<BUILD_INTERFACE:${IREE_SOURCE_DIR}>"
+ "$<BUILD_INTERFACE:${IREE_BINARY_DIR}>"
)
target_compile_definitions(${_NAME}
PUBLIC
diff --git a/build_tools/cmake/iree_copts.cmake b/build_tools/cmake/iree_copts.cmake
index 90438d0..903b576 100644
--- a/build_tools/cmake/iree_copts.cmake
+++ b/build_tools/cmake/iree_copts.cmake
@@ -89,10 +89,6 @@
set(IREE_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR})
set(IREE_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
set(IREE_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR})
-list(APPEND IREE_COMMON_INCLUDE_DIRS
- ${IREE_SOURCE_DIR}
- ${IREE_BINARY_DIR}
-)
iree_select_compiler_opts(IREE_DEFAULT_COPTS
CLANG
@@ -432,16 +428,6 @@
set(LLVM_USE_LINKER ${IREE_USE_LINKER} CACHE STRING "" FORCE)
endif()
-# TODO: This should go in add_iree_mlir_src_dep at the top level.
-if(IREE_MLIR_DEP_MODE STREQUAL "BUNDLED")
- list(APPEND IREE_COMMON_INCLUDE_DIRS
- ${CMAKE_CURRENT_SOURCE_DIR}/third_party/llvm-project/llvm/include
- ${CMAKE_CURRENT_BINARY_DIR}/third_party/llvm-project/llvm/include
- ${CMAKE_CURRENT_SOURCE_DIR}/third_party/llvm-project/mlir/include
- ${CMAKE_CURRENT_BINARY_DIR}/third_party/llvm-project/llvm/tools/mlir/include
- )
-endif()
-
set(MLIR_TABLEGEN_EXE mlir-tblgen)
# iree-tblgen is not defined using the add_tablegen mechanism as other TableGen
# tools in LLVM.
@@ -456,11 +442,6 @@
set(EMITC_ENABLE_HLO OFF)
set(EMITC_INCLUDE_TESTS OFF)
- # TODO(marbre): add these only where required, not globally.
- # list(APPEND IREE_COMMON_INCLUDE_DIRS
- # ${CMAKE_CURRENT_SOURCE_DIR}/third_party/mlir-emitc/include
- # ${CMAKE_CURRENT_BINARY_DIR}/third_party/mlir-emitc/include
- # )
add_definitions(-DIREE_HAVE_EMITC_DIALECT)
endif()
diff --git a/build_tools/cmake/iree_tablegen_doc.cmake b/build_tools/cmake/iree_tablegen_doc.cmake
index 372b3b5..5e93390 100644
--- a/build_tools/cmake/iree_tablegen_doc.cmake
+++ b/build_tools/cmake/iree_tablegen_doc.cmake
@@ -53,7 +53,10 @@
endif()
- set(_INCLUDE_DIRS ${IREE_COMMON_INCLUDE_DIRS})
+ set(_INCLUDE_DIRS
+ "${MLIR_INCLUDE_DIRS}"
+ "${IREE_SOURCE_DIR}"
+ )
list(APPEND _INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR})
list(TRANSFORM _INCLUDE_DIRS PREPEND "-I")
diff --git a/build_tools/cmake/iree_tablegen_library.cmake b/build_tools/cmake/iree_tablegen_library.cmake
index e185e59..6226b16 100644
--- a/build_tools/cmake/iree_tablegen_library.cmake
+++ b/build_tools/cmake/iree_tablegen_library.cmake
@@ -41,7 +41,10 @@
endif()
set(LLVM_TARGET_DEFINITIONS ${_RULE_TD_FILE})
- set(_INCLUDE_DIRS ${IREE_COMMON_INCLUDE_DIRS})
+ set(_INCLUDE_DIRS
+ "${MLIR_INCLUDE_DIRS}"
+ "${IREE_SOURCE_DIR}"
+ )
list(APPEND _INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR})
list(TRANSFORM _INCLUDE_DIRS PREPEND "-I")
set(_OUTPUTS)
diff --git a/iree/compiler/Dialect/HAL/Target/MetalSPIRV/CMakeLists.txt b/iree/compiler/Dialect/HAL/Target/MetalSPIRV/CMakeLists.txt
index 4ee89d1..1e044c9 100644
--- a/iree/compiler/Dialect/HAL/Target/MetalSPIRV/CMakeLists.txt
+++ b/iree/compiler/Dialect/HAL/Target/MetalSPIRV/CMakeLists.txt
@@ -49,6 +49,7 @@
"SPIRVToMSL.cpp"
DEPS
LLVMSupport
+ MLIRSupport
spirv-cross-msl
PUBLIC
)