Blame mlir-cmake-standalone.patch

46f2fcd
diff --git a/mlir/CMakeLists.txt b/mlir/CMakeLists.txt
46f2fcd
index 806eb42db..5fa0c16dc 100644
46f2fcd
--- a/mlir/CMakeLists.txt
46f2fcd
+++ b/mlir/CMakeLists.txt
46f2fcd
@@ -1,4 +1,50 @@
46f2fcd
-# MLIR project.
46f2fcd
+# Check if this is a in tree build.
46f2fcd
+if (NOT DEFINED LLVM_MAIN_SRC_DIR)
46f2fcd
+  project(Mlir)
46f2fcd
+  cmake_minimum_required(VERSION 3.13.4)
46f2fcd
+
46f2fcd
+  # Where is LLVM installed?
46f2fcd
+  find_package(LLVM CONFIG REQUIRED)
46f2fcd
+  set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${LLVM_CMAKE_DIR})
46f2fcd
+  include(HandleLLVMOptions)
46f2fcd
+  include(AddLLVM)
46f2fcd
+  include(TableGen)
46f2fcd
+
46f2fcd
+  # Add the llvm header path.
46f2fcd
+  include_directories(${LLVM_INCLUDE_DIRS})
46f2fcd
+  # Local builddir generated header inclusion
46f2fcd
+  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -I.")
46f2fcd
+
46f2fcd
+  # Sources available, too?
46f2fcd
+  if (LLVM_BUILD_MAIN_SRC_DIR)
46f2fcd
+    set(LLVM_SOURCE_ROOT ${LLVM_BUILD_MAIN_SRC_DIR} CACHE PATH
46f2fcd
+      "Path to LLVM source tree")
46f2fcd
+  else()
46f2fcd
+    execute_process(COMMAND "${LLVM_TOOLS_BINARY_DIR}/llvm-config" --src-root
46f2fcd
+      OUTPUT_VARIABLE MAIN_SRC_DIR
46f2fcd
+      OUTPUT_STRIP_TRAILING_WHITESPACE)
46f2fcd
+    set(LLVM_SOURCE_ROOT ${MAIN_SRC_DIR} CACHE PATH "Path to LLVM source tree")
46f2fcd
+  endif()
46f2fcd
+
46f2fcd
+  # Make sure the isl c files are built as fPIC
46f2fcd
+  set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
46f2fcd
+
46f2fcd
+  # Set directory for mlir test.
46f2fcd
+  set(MLIR_TOOLS_DIR "${CMAKE_CURRENT_BINARY_DIR}/bin")
46f2fcd
+  set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/bin")
46f2fcd
+  set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/bin")
46f2fcd
+
46f2fcd
+  if (LLVM_ENABLE_DOXYGEN)
46f2fcd
+    message(STATUS "Doxygen enabled.")
46f2fcd
+    find_package(Doxygen REQUIRED)
46f2fcd
+  else()
46f2fcd
+    message(STATUS "Doxygen disabled.")
46f2fcd
+  endif()
46f2fcd
+
46f2fcd
+else ()
46f2fcd
+  set(LLVM_SOURCE_ROOT "${LLVM_MAIN_SRC_DIR}")
46f2fcd
+endif ()
46f2fcd
+
46f2fcd
 set(MLIR_MAIN_SRC_DIR     ${CMAKE_CURRENT_SOURCE_DIR}  )
46f2fcd
 set(MLIR_MAIN_INCLUDE_DIR ${MLIR_MAIN_SRC_DIR}/include )
46f2fcd