annotate mlir/CMakeLists.txt @ 154:f7e988d3e4cc

fix def file
author anatofuz
date Wed, 11 Mar 2020 19:23:03 +0900
parents 1d019706d866
children 0572611fdcc8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
150
anatofuz
parents:
diff changeset
1 # MLIR project.
anatofuz
parents:
diff changeset
2 set(MLIR_MAIN_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/include ) # --src-root
anatofuz
parents:
diff changeset
3 set(MLIR_INCLUDE_DIR ${CMAKE_CURRENT_BINARY_DIR}/include ) # --includedir
anatofuz
parents:
diff changeset
4 set(MLIR_TABLEGEN_EXE mlir-tblgen)
anatofuz
parents:
diff changeset
5
anatofuz
parents:
diff changeset
6 set(MLIR_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
anatofuz
parents:
diff changeset
7 set(MLIR_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR})
anatofuz
parents:
diff changeset
8
anatofuz
parents:
diff changeset
9 list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules")
anatofuz
parents:
diff changeset
10
anatofuz
parents:
diff changeset
11 function(add_mlir_dialect dialect dialect_doc_filename)
anatofuz
parents:
diff changeset
12 set(LLVM_TARGET_DEFINITIONS ${dialect}.td)
anatofuz
parents:
diff changeset
13 mlir_tablegen(${dialect}.h.inc -gen-op-decls)
anatofuz
parents:
diff changeset
14 mlir_tablegen(${dialect}.cpp.inc -gen-op-defs)
anatofuz
parents:
diff changeset
15 add_public_tablegen_target(MLIR${dialect}IncGen)
anatofuz
parents:
diff changeset
16 add_dependencies(mlir-headers MLIR${dialect}IncGen)
anatofuz
parents:
diff changeset
17
anatofuz
parents:
diff changeset
18 # Generate Dialect Documentation
anatofuz
parents:
diff changeset
19 set(LLVM_TARGET_DEFINITIONS ${dialect_doc_filename}.td)
anatofuz
parents:
diff changeset
20 tablegen(MLIR ${dialect_doc_filename}.md -gen-op-doc "-I${MLIR_MAIN_SRC_DIR}" "-I${MLIR_INCLUDE_DIR}")
anatofuz
parents:
diff changeset
21 set(GEN_DOC_FILE ${MLIR_BINARY_DIR}/docs/Dialects/${dialect_doc_filename}.md)
anatofuz
parents:
diff changeset
22 add_custom_command(
anatofuz
parents:
diff changeset
23 OUTPUT ${GEN_DOC_FILE}
anatofuz
parents:
diff changeset
24 COMMAND ${CMAKE_COMMAND} -E copy
anatofuz
parents:
diff changeset
25 ${CMAKE_CURRENT_BINARY_DIR}/${dialect_doc_filename}.md
anatofuz
parents:
diff changeset
26 ${GEN_DOC_FILE}
anatofuz
parents:
diff changeset
27 DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${dialect_doc_filename}.md)
anatofuz
parents:
diff changeset
28 add_custom_target(${dialect_doc_filename}DocGen DEPENDS ${GEN_DOC_FILE})
anatofuz
parents:
diff changeset
29 add_dependencies(mlir-doc ${dialect_doc_filename}DocGen)
anatofuz
parents:
diff changeset
30 endfunction()
anatofuz
parents:
diff changeset
31
anatofuz
parents:
diff changeset
32 include(AddMLIR)
anatofuz
parents:
diff changeset
33
anatofuz
parents:
diff changeset
34 # Installing the headers and docs needs to depend on generating any public
anatofuz
parents:
diff changeset
35 # tablegen'd targets.
anatofuz
parents:
diff changeset
36 add_custom_target(mlir-headers)
anatofuz
parents:
diff changeset
37 set_target_properties(mlir-headers PROPERTIES FOLDER "Misc")
anatofuz
parents:
diff changeset
38 add_custom_target(mlir-doc)
anatofuz
parents:
diff changeset
39
anatofuz
parents:
diff changeset
40 # Build the CUDA conversions and run according tests if the NVPTX backend
anatofuz
parents:
diff changeset
41 # is available
anatofuz
parents:
diff changeset
42 if ("NVPTX" IN_LIST LLVM_TARGETS_TO_BUILD)
anatofuz
parents:
diff changeset
43 set(MLIR_CUDA_CONVERSIONS_ENABLED 1)
anatofuz
parents:
diff changeset
44 else()
anatofuz
parents:
diff changeset
45 set(MLIR_CUDA_CONVERSIONS_ENABLED 0)
anatofuz
parents:
diff changeset
46 endif()
anatofuz
parents:
diff changeset
47
anatofuz
parents:
diff changeset
48 set(MLIR_CUDA_RUNNER_ENABLED 0 CACHE BOOL "Enable building the mlir CUDA runner")
anatofuz
parents:
diff changeset
49
anatofuz
parents:
diff changeset
50 include_directories( "include")
anatofuz
parents:
diff changeset
51 include_directories( ${MLIR_INCLUDE_DIR})
anatofuz
parents:
diff changeset
52
anatofuz
parents:
diff changeset
53 add_subdirectory(include/mlir)
anatofuz
parents:
diff changeset
54 add_subdirectory(lib)
anatofuz
parents:
diff changeset
55 add_subdirectory(tools)
anatofuz
parents:
diff changeset
56 add_subdirectory(unittests)
anatofuz
parents:
diff changeset
57 add_subdirectory(test)
anatofuz
parents:
diff changeset
58
anatofuz
parents:
diff changeset
59 if( LLVM_INCLUDE_EXAMPLES )
anatofuz
parents:
diff changeset
60 add_subdirectory(examples)
anatofuz
parents:
diff changeset
61 endif()
anatofuz
parents:
diff changeset
62
anatofuz
parents:
diff changeset
63 option(MLIR_INCLUDE_DOCS "Generate build targets for the MLIR docs."
anatofuz
parents:
diff changeset
64 ${LLVM_INCLUDE_DOCS})
anatofuz
parents:
diff changeset
65 if (MLIR_INCLUDE_DOCS)
anatofuz
parents:
diff changeset
66 add_subdirectory(docs)
anatofuz
parents:
diff changeset
67 endif()
anatofuz
parents:
diff changeset
68
anatofuz
parents:
diff changeset
69 if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
anatofuz
parents:
diff changeset
70 install(DIRECTORY include/mlir include/mlir-c
anatofuz
parents:
diff changeset
71 DESTINATION include
anatofuz
parents:
diff changeset
72 COMPONENT mlir-headers
anatofuz
parents:
diff changeset
73 FILES_MATCHING
anatofuz
parents:
diff changeset
74 PATTERN "*.def"
anatofuz
parents:
diff changeset
75 PATTERN "*.h"
anatofuz
parents:
diff changeset
76 PATTERN "*.inc"
anatofuz
parents:
diff changeset
77 PATTERN "*.td"
anatofuz
parents:
diff changeset
78 PATTERN "LICENSE.TXT"
anatofuz
parents:
diff changeset
79 )
anatofuz
parents:
diff changeset
80
anatofuz
parents:
diff changeset
81 install(DIRECTORY ${MLIR_INCLUDE_DIR}/mlir ${MLIR_INCLUDE_DIR}/mlir-c
anatofuz
parents:
diff changeset
82 DESTINATION include
anatofuz
parents:
diff changeset
83 COMPONENT mlir-headers
anatofuz
parents:
diff changeset
84 FILES_MATCHING
anatofuz
parents:
diff changeset
85 PATTERN "*.def"
anatofuz
parents:
diff changeset
86 PATTERN "*.h"
anatofuz
parents:
diff changeset
87 PATTERN "*.gen"
anatofuz
parents:
diff changeset
88 PATTERN "*.inc"
anatofuz
parents:
diff changeset
89 PATTERN "*.td"
anatofuz
parents:
diff changeset
90 PATTERN "CMakeFiles" EXCLUDE
anatofuz
parents:
diff changeset
91 PATTERN "config.h" EXCLUDE
anatofuz
parents:
diff changeset
92 )
anatofuz
parents:
diff changeset
93
anatofuz
parents:
diff changeset
94 if (NOT LLVM_ENABLE_IDE)
anatofuz
parents:
diff changeset
95 add_llvm_install_targets(install-mlir-headers
anatofuz
parents:
diff changeset
96 DEPENDS mlir-headers
anatofuz
parents:
diff changeset
97 COMPONENT mlir-headers)
anatofuz
parents:
diff changeset
98 endif()
anatofuz
parents:
diff changeset
99 endif()
anatofuz
parents:
diff changeset
100
anatofuz
parents:
diff changeset
101 add_subdirectory(cmake/modules)