Files
Brandyn / Techy fcc1b09210 init
2026-04-04 15:40:51 -05:00

35 lines
1.9 KiB
CMake

cmake_minimum_required(VERSION 3.21...3.24)
if (NOT UE_IREE_BUILD_ROOT)
message(FATAL_ERROR "Error: UE_IREE_BUILD_ROOT not set")
endif()
if (NOT UE_IREE_ADDITIONAL_SOURCES)
set(UE_IREE_ADDITIONAL_SOURCES "")
endif()
# Set device standalone to make sure some functions are included to avoid mismatch on target systems (e.g. __truncsfhf2 and __extendhfsf2)
add_compile_definitions(IREE_DEVICE_STANDALONE)
add_subdirectory("${UE_IREE_BUILD_ROOT}/iree" "iree" EXCLUDE_FROM_ALL)
# Get all targets required by the runtime
set(_RUNTIME_ROOT "iree::runtime")
set(_RUNTIME_OBJECTS "$<REMOVE_DUPLICATES:$<GENEX_EVAL:$<TARGET_PROPERTY:${_RUNTIME_ROOT},INTERFACE_IREE_TRANSITIVE_OBJECTS>>>")
set(_RUNTIME_LIBS "$<REMOVE_DUPLICATES:$<GENEX_EVAL:$<TARGET_PROPERTY:${_RUNTIME_ROOT},INTERFACE_IREE_TRANSITIVE_OBJECT_LIBS>>>")
set(_LOADER_ROOT "iree::hal::local::loaders::static_library_loader")
set(_LOADER_OBJECTS "$<REMOVE_DUPLICATES:$<GENEX_EVAL:$<TARGET_PROPERTY:${_LOADER_ROOT},INTERFACE_IREE_TRANSITIVE_OBJECTS>>>")
set(_LOADER_LIBS "$<REMOVE_DUPLICATES:$<GENEX_EVAL:$<TARGET_PROPERTY:${_LOADER_ROOT},INTERFACE_IREE_TRANSITIVE_OBJECT_LIBS>>>")
set(_ELF_ROOT "iree::hal::local::elf::arch")
set(_ELF_OBJECTS "$<REMOVE_DUPLICATES:$<GENEX_EVAL:$<TARGET_PROPERTY:${_ELF_ROOT},INTERFACE_IREE_TRANSITIVE_OBJECTS>>>")
set(_ELF_LIBS "$<REMOVE_DUPLICATES:$<GENEX_EVAL:$<TARGET_PROPERTY:${_ELF_ROOT},INTERFACE_IREE_TRANSITIVE_OBJECT_LIBS>>>")
set(_DEVICE_ROOT "iree::builtins::device::device")
set(_DEVICE_OBJECTS "$<REMOVE_DUPLICATES:$<GENEX_EVAL:$<TARGET_PROPERTY:${_DEVICE_ROOT},INTERFACE_IREE_TRANSITIVE_OBJECTS>>>")
set(_DEVICE_LIBS "$<REMOVE_DUPLICATES:$<GENEX_EVAL:$<TARGET_PROPERTY:${_DEVICE_ROOT},INTERFACE_IREE_TRANSITIVE_OBJECT_LIBS>>>")
# Define the library
add_library(ireert ${_RUNTIME_OBJECTS} ${_LOADER_OBJECTS} ${_ELF_OBJECTS} ${_DEVICE_OBJECTS} ${UE_IREE_ADDITIONAL_SOURCES})
target_link_libraries(ireert PUBLIC ${_RUNTIME_LIBS} ${_LOADER_LIBS} ${_ELF_LIBS} ${_DEVICE_LIBS})