xref: /llvm-project/mlir/cmake/modules/MLIRConfig.cmake.in (revision 1b232fa0e9864dde230db8da82a906c588baf792)
1# This file allows users to call find_package(MLIR) and pick up our targets.
2
3@MLIR_CONFIG_CODE@
4
5set(LLVM_VERSION @LLVM_VERSION_MAJOR@.@LLVM_VERSION_MINOR@.@LLVM_VERSION_PATCH@)
6find_package(LLVM ${LLVM_VERSION} EXACT REQUIRED CONFIG
7             HINTS "@MLIR_CONFIG_LLVM_CMAKE_DIR@")
8
9set(MLIR_EXPORTED_TARGETS "@MLIR_EXPORTS@")
10set(MLIR_CMAKE_DIR "@MLIR_CONFIG_CMAKE_DIR@")
11set(MLIR_INCLUDE_DIRS "@MLIR_CONFIG_INCLUDE_DIRS@")
12set(MLIR_TABLEGEN_EXE "@MLIR_CONFIG_TABLEGEN_EXE@")
13set(MLIR_PDLL_TABLEGEN_EXE "@MLIR_CONFIG_PDLL_TABLEGEN_EXE@")
14set(MLIR_SRC_SHARDER_TABLEGEN_EXE "@MLIR_CONFIG_SRC_SHARDER_TABLEGEN_EXE@")
15set(MLIR_INSTALL_AGGREGATE_OBJECTS "@MLIR_INSTALL_AGGREGATE_OBJECTS@")
16set(MLIR_ENABLE_BINDINGS_PYTHON "@MLIR_ENABLE_BINDINGS_PYTHON@")
17set(MLIR_ENABLE_EXECUTION_ENGINE "@MLIR_ENABLE_EXECUTION_ENGINE@")
18
19# For mlir_tablegen()
20set(MLIR_INCLUDE_DIR "@MLIR_INCLUDE_DIR@")
21set(MLIR_MAIN_SRC_DIR "@MLIR_MAIN_SRC_DIR@")
22
23set_property(GLOBAL PROPERTY MLIR_ALL_LIBS "@MLIR_ALL_LIBS@")
24set_property(GLOBAL PROPERTY MLIR_DIALECT_LIBS "@MLIR_DIALECT_LIBS@")
25set_property(GLOBAL PROPERTY MLIR_CONVERSION_LIBS "@MLIR_CONVERSION_LIBS@")
26set_property(GLOBAL PROPERTY MLIR_EXTENSION_LIBS "@MLIR_EXTENSION_LIBS@")
27set_property(GLOBAL PROPERTY MLIR_TRANSLATION_LIBS "@MLIR_TRANSLATION_LIBS@")
28set_property(GLOBAL PROPERTY MLIR_UPSTREAM_CAPI_LIBS "@MLIR_CAPI_LIBS@")
29
30# Provide all our library targets to users.
31# More specifically, configure MLIR so that it can be directly included in a top
32# level CMakeLists.txt, but also so that it can be imported via `find_package`.
33# This is based on how LLVM handles exports.
34if(NOT TARGET MLIRSupport)
35  @MLIR_CONFIG_INCLUDE_EXPORTS@
36endif()
37
38# By creating these targets here, subprojects that depend on MLIR's
39# tablegen-generated headers can always depend on these targets whether building
40# in-tree with MLIR or not.
41if(NOT TARGET mlir-tablegen-targets)
42  add_custom_target(mlir-tablegen-targets)
43endif()
44if(NOT TARGET mlir-headers)
45  add_custom_target(mlir-headers)
46endif()
47if(NOT TARGET mlir-generic-headers)
48  add_custom_target(mlir-generic-headers)
49endif()
50if(NOT TARGET mlir-doc)
51  add_custom_target(mlir-doc)
52endif()
53