summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorTuowen Zhao <ztuowen@gmail.com>2019-04-27 19:05:25 -0600
committerTuowen Zhao <ztuowen@gmail.com>2019-04-27 19:05:25 -0600
commit0781257b2a8d544abdcce38824a9b8288a04800d (patch)
tree365cea96de343e354913f90b35fc944e4459b2e9 /CMakeLists.txt
parent4127831a28e31ac53ffdb1d7e7a88dd7d6317c6e (diff)
downloadmlir-toy-0781257b2a8d544abdcce38824a9b8288a04800d.tar.gz
mlir-toy-0781257b2a8d544abdcce38824a9b8288a04800d.tar.bz2
mlir-toy-0781257b2a8d544abdcce38824a9b8288a04800d.zip
Split toy dialect using static registration
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt30
1 files changed, 15 insertions, 15 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index f04ac1f..7c084ae 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -11,45 +11,40 @@ else()
message(FATAL_ERROR "LLVM not found; it is derived from MLIR_INSTALL_PREFIX which has value of ${MLIR_INSTALL_PREFIX}")
endif()
+set (CMAKE_MODULE_PATH "${LLVM_CMAKE_DIR};${CMAKE_MODULE_PATH}")
+include(AddLLVM)
+
function(whole_archive_link target)
if("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin")
- set(link_flags "-L${CMAKE_BINARY_DIR}/lib ")
+ set(link_flags "")
FOREACH(LIB ${ARGN})
string(CONCAT link_flags ${link_flags} "-Wl,-force_load ${CMAKE_BINARY_DIR}/lib/lib${LIB}.a ")
ENDFOREACH(LIB)
else()
- set(link_flags "-L${CMAKE_BINARY_DIR}/lib -Wl,--whole-archive,")
+ set(link_flags "-Wl,--whole-archive,")
FOREACH(LIB ${ARGN})
string(CONCAT link_flags ${link_flags} "-l${LIB},")
ENDFOREACH(LIB)
string(CONCAT link_flags ${link_flags} "--no-whole-archive")
endif()
- set_target_properties(${target} PROPERTIES LINK_FLAGS ${link_flags})
+ set_target_properties(${target} PROPERTIES LINK_FLAGS "${link_flags}")
endfunction(whole_archive_link)
llvm_map_components_to_libnames(llvm_libs support)
-if (NOT ${LLVM_ENABLE_RTTI})
- set(CMAKE_CXX_FLAGS "-fno-rtti ${CMAKE_CXX_FLAGS}")
-endif()
-
include_directories(
include
${LLVM_INCLUDE_DIR})
-link_directories(${LLVM_LIBRARY_DIR})
+link_directories(
+ ${LLVM_LIBRARY_DIR}
+ ${CMAKE_BINARY_DIR})
add_definitions(${LLVM_DEFINITIONS})
add_executable(toyc
toyc.cpp
parser/AST.cpp
- mlir/EarlyLowering.cpp
- mlir/LateLowering.cpp
- mlir/MLIRGen.cpp
- mlir/ShapeInferencePass.cpp
- mlir/ToyDialect.cpp
- mlir/ToyCombine.cpp
)
target_link_libraries(toyc
@@ -71,4 +66,9 @@ target_link_libraries(toyc
MLIRSupport
)
-whole_archive_link(toyc MLIRStandardOps MLIRAffineOps)
+add_dependencies(toyc ToyDialect)
+
+llvm_update_compile_flags(toyc)
+whole_archive_link(toyc ToyDialect MLIRStandardOps MLIRAffineOps)
+
+add_subdirectory(toy)