@@ -18,8 +18,6 @@ option(ENABLE_WASM "Enable wasm-only targets" OFF)
1818# ================================= BEGIN LLVM =================================
1919
2020find_package (LLVM REQUIRED CONFIG )
21- message (STATUS "Found LLVM ${LLVM_PACKAGE_VERSION} " )
22- message (STATUS "Using LLVMConfig.cmake in: ${LLVM_DIR} " )
2321include_directories (${LLVM_INCLUDE_DIRS} )
2422separate_arguments (LLVM_DEFINITIONS_LIST NATIVE_COMMAND ${LLVM_DEFINITIONS} )
2523add_definitions (${LLVM_DEFINITIONS_LIST} )
@@ -41,8 +39,8 @@ list(APPEND CMAKE_MODULE_PATH "${MLIR_CMAKE_DIR}")
4139
4240# Using a placeholder to set MLIR_TABLEGEN_EXE because find_package(MLIR)
4341# overwrites the MLIR_TABLEGEN_EXE flag
44- if (DEFINED SET_MLIR_TABLEGEN_PATH )
45- set (MLIR_TABLEGEN_EXE "${SET_MLIR_TABLEGEN_PATH } " )
42+ if (DEFINED GRAPHALG_OVERRIDE_MLIR_TABLEGEN_PATH )
43+ set (MLIR_TABLEGEN_EXE "${GRAPHALG_OVERRIDE_MLIR_TABLEGEN_PATH } " )
4644endif ()
4745
4846include (AddMLIR )
@@ -51,132 +49,6 @@ include(AddMLIR)
5149# Directories with MLIR dialects
5250add_subdirectory (include /graphalg )
5351
52+ add_subdirectory (src )
5453add_subdirectory (test )
55-
56- # graphalg_lib
57- add_library (graphalg_lib STATIC
58- src/graphalg/analysis/DenseAnalysis.cpp
59- src/graphalg/GraphAlgAttr.cpp
60- src/graphalg/GraphAlgAttr.cpp
61- src/graphalg/GraphAlgCanonicalize.cpp
62- src/graphalg/GraphAlgCast.cpp
63- src/graphalg/GraphAlgDialect.cpp
64- src/graphalg/GraphAlgExplicateSparsity.cpp
65- src/graphalg/GraphAlgInterfaces.cpp
66- src/graphalg/GraphAlgLoopAggregate.cpp
67- src/graphalg/GraphAlgOps.cpp
68- src/graphalg/GraphAlgPrepareInlinePass.cpp
69- src/graphalg/GraphAlgScalarizeApply.cpp
70- src/graphalg/GraphAlgSetDimensions.cpp
71- src/graphalg/GraphAlgSplitAggregate.cpp
72- src/graphalg/GraphAlgToCore.cpp
73- src/graphalg/GraphAlgToCorePipeline.cpp
74- src/graphalg/GraphAlgTypes.cpp
75- src/graphalg/GraphAlgVerifyDimensions.cpp
76- src/graphalg/SemiringTypes.cpp
77- src/graphalg/evaluate/Evaluator.cpp
78- )
79- target_include_directories (graphalg_lib PUBLIC include )
80- target_include_directories (graphalg_lib SYSTEM PUBLIC ${PROJECT_BINARY_DIR } /include )
81- add_dependencies (graphalg_lib
82- MLIRGraphAlgOpsIncGen
83- MLIRGraphAlgPassesIncGen
84- MLIRGraphAlgInterfacesIncGen
85- )
86- target_link_libraries (
87- graphalg_lib
88- PRIVATE
89- MLIRAnalysis
90- MLIRFuncDialect
91- MLIRFuncInlinerExtension
92- MLIRInferTypeOpInterface
93- MLIRIR
94- MLIRPass
95- MLIRPass
96- MLIRSupport
97- MLIRTransforms
98- )
99- # Suppress -Wdangling-assignment-gsl for generated code from MLIR tablegen
100- # The warning is triggered by template instantiations in GraphAlgOps.cpp.inc
101- target_compile_options (graphalg_lib PRIVATE -Wno-dangling-assignment-gsl )
102- if (NOT GRAPHALG_ENABLE_RTTI)
103- target_compile_options (graphalg_lib PUBLIC -fno-rtti )
104- endif ()
105-
106- add_library (graphalg_parse STATIC
107- src/graphalg/parse/Lexer.cpp
108- src/graphalg/parse/Parser.cpp
109- )
110- target_link_libraries (graphalg_parse PRIVATE graphalg_lib )
111-
112- add_executable (graphalg-translate src/graphalg-translate.cpp )
113- target_link_libraries (graphalg-translate PRIVATE
114- ${llvm_libs}
115- graphalg_lib
116- graphalg_parse
117- MLIRTranslateLib
118- )
119-
120- add_executable (graphalg-opt src/graphalg-opt.cpp )
121- target_link_libraries (graphalg-opt PRIVATE
122- ${llvm_libs}
123- graphalg_lib
124- MLIROptLib
125- )
126-
127- add_executable (graphalg-lsp-server src/graphalg-lsp-server.cpp )
128- target_link_libraries (graphalg-lsp-server PRIVATE
129- ${llvm_libs}
130- graphalg_lib
131- MLIRLspServerLib
132- )
133-
134- add_executable (graphalg-exec src/graphalg-exec.cpp )
135- target_link_libraries (graphalg-exec PRIVATE
136- ${llvm_libs}
137- graphalg_lib
138- MLIRParser
139- )
140-
141- add_executable (graphalg-playground src/graphalg-playground.cpp )
142- target_link_libraries (graphalg-playground PRIVATE
143- ${llvm_libs}
144- graphalg_lib
145- graphalg_parse
146- )
147-
148- if (ENABLE_WASM)
149- set (PLAYGROUND_EXPORTED_FUNCTIONS
150- _ga_new
151- _ga_free
152- _ga_parse
153- _ga_diag_count
154- _ga_diag_line_start
155- _ga_diag_line_end
156- _ga_diag_col_start
157- _ga_diag_col_end
158- _ga_diag_msg
159- _ga_desugar
160- _ga_add_arg
161- _ga_set_dims
162- _ga_set_arg_bool
163- _ga_set_arg_int
164- _ga_set_arg_real
165- _ga_evaluate
166- _ga_get_res_ring
167- _ga_get_res_rows
168- _ga_get_res_cols
169- _ga_get_res_bool
170- _ga_get_res_int
171- _ga_get_res_real
172- _ga_get_res_inf
173- )
174- string (REPLACE ";" "," PLAYGROUND_EXPORTED_FUNCTIONS_STR "${PLAYGROUND_EXPORTED_FUNCTIONS} " )
175-
176-
177- target_link_options (graphalg-playground PRIVATE
178- -sEXPORTED_FUNCTIONS=${PLAYGROUND_EXPORTED_FUNCTIONS_STR}
179- -sEXPORTED_RUNTIME_METHODS=cwrap,UTF8ToString
180- -sMODULARIZE
181- -sEXPORT_ES6 )
182- endif ()
54+ add_subdirectory (tools )
0 commit comments