@@ -29,37 +29,13 @@ set(BUILD_SHARED_LIBS OFF)
2929#
3030# LLVM/MLIR
3131#
32-
33- set (LLVM_ENABLE_WARNINGS OFF CACHE BOOL "" )
34- set (LLVM_ENABLE_BINDINGS OFF CACHE BOOL "" FORCE )
35- set (LLVM_ENABLE_RTTI ON CACHE BOOL "" FORCE )
36- set (LLVM_ENABLE_EH ON CACHE BOOL "" FORCE )
37- set (LLVM_ENABLE_BACKTRACES OFF CACHE BOOL "" FORCE )
38- set (LLVM_ENABLE_CRASH_OVERRIDES OFF CACHE BOOL "" FORCE )
39- set (LLVM_ENABLE_PROJECTS "mlir" CACHE STRING "" FORCE )
40- if (CMAKE_BUILD_TYPE STREQUAL "Debug" OR ENABLE_DEVELOPER_BUILD)
41- set (LLVM_ENABLE_ASSERTIONS ON CACHE BOOL "" FORCE )
42- else ()
43- set (LLVM_ENABLE_ASSERTIONS OFF CACHE BOOL "" FORCE )
32+ if (NOT ENABLE_PREBUILT_LLVM_MLIR_LIBS)
33+ set_llvm_flags ()
34+ add_subdirectory (llvm-project/llvm EXCLUDE_FROM_ALL )
35+ set (MLIR_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR} /llvm-project/mlir/include" )
36+ set (MLIR_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR} /llvm-project/llvm/tools/mlir/include" )
37+ include_directories (SYSTEM ${MLIR_SOURCE_DIR} ${MLIR_BINARY_DIR} )
4438endif ()
45- set (LLVM_INCLUDE_TESTS OFF CACHE BOOL "" FORCE )
46- set (LLVM_INCLUDE_BENCHMARKS OFF CACHE BOOL "" FORCE )
47- set (LLVM_TARGETS_TO_BUILD "host" CACHE STRING "" FORCE )
48- set (CROSS_TOOLCHAIN_FLAGS_ "" CACHE STRING "" FORCE )
49- set (CROSS_TOOLCHAIN_FLAGS_NATIVE "" CACHE STRING "" FORCE )
50- set (LLVM_ENABLE_TERMINFO OFF CACHE BOOL "" FORCE )
51- # we do not use examples and having it enabled
52- # makes cmake complains about long path on Windows
53- set (LLVM_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE )
54- set (LLVM_INCLUDE_EXAMPLES OFF CACHE BOOL "" FORCE )
55-
56- add_subdirectory (llvm-project/llvm EXCLUDE_FROM_ALL )
57-
58- set (MLIR_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR} /llvm-project/mlir/include" )
59- set (MLIR_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR} /llvm-project/llvm/tools/mlir/include" )
60- include_directories (SYSTEM
61- ${MLIR_SOURCE_DIR}
62- ${MLIR_BINARY_DIR} )
6339
6440#
6541# flatbuffers
@@ -90,15 +66,25 @@ vpux_add_native_tool(flatc "${CMAKE_CURRENT_SOURCE_DIR}/flatbuffers"
9066)
9167
9268#
93- # vpux_elf
69+ # npu_elf
9470#
9571
96- set (VPUX_ELF_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR} /elf" )
97- set (VPUX_ELF_SOURCE_DIR "${VPUX_ELF_SOURCE_DIR} " PARENT_SCOPE )
98- message ("VPUX_ELF_SOURCE_DIR : ${VPUX_ELF_SOURCE_DIR} " )
72+ if (ENABLE_NPU_MONO)
73+ if (NOT TARGET npu_elf)
74+ message (FATAL_ERROR "elf/vpux_elf target must exist since ENABLE_NPU_MONO is ON" )
75+ endif ()
76+ # TODO remove:
77+ # `src/vpux_compiler/include/vpux/compiler/dialect/VPU37XX/api`
78+ # after integration finishes
79+ else ()
80+ # Legacy no-monorepo scenario
81+ add_subdirectory (elf/vpux_elf )
82+ target_include_directories (npu_elf PRIVATE
83+ "${IE_MAIN_VPUX_PLUGIN_SOURCE_DIR} /src/vpux_compiler/include/vpux/compiler/dialect/VPU37XX/firmware_headers/details" )
9984
100- add_subdirectory (${VPUX_ELF_SOURCE_DIR} /vpux_elf )
101- target_include_directories (vpux_elf PRIVATE "${IE_MAIN_VPUX_PLUGIN_SOURCE_DIR} /src/vpux_compiler/include/vpux/compiler/dialect/VPU37XX" )
85+ target_include_directories (vpux_elf PRIVATE
86+ "${IE_MAIN_VPUX_PLUGIN_SOURCE_DIR} /src/vpux_compiler/include/vpux/compiler/dialect/VPU37XX/firmware_headers/details" )
87+ endif ()
10288
10389#
10490# zeroApi
0 commit comments