| # Copyright 2023 The IREE Authors |
| # |
| # Licensed under the Apache License v2.0 with LLVM Exceptions. |
| # See https://llvm.org/LICENSE.txt for license information. |
| # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| |
| # # iree_experimental_system_plugin |
| # |
| # Creates a system plugin library, that is built using the host toolchain for |
| # the host architecture and may be loaded with the system dynamic library |
| # loader. |
| # |
| # Contrast with: iree_experimental_standalone_plugin. |
| # |
| # Parameters: |
| # NAME: Name of the system plugin to create. |
| # SRCS: List of source files. |
| # DEPS: List of dependencies. |
| function(iree_experimental_system_plugin) |
| cmake_parse_arguments( |
| _RULE |
| "" |
| "NAME" |
| "SRCS;DEPS" |
| ${ARGN} |
| ) |
| |
| iree_cc_library( |
| NAME |
| ${_RULE_NAME} |
| SRCS |
| ${_RULE_SRCS} |
| DEPS |
| ${_RULE_DEPS} |
| iree::hal::local::executable_plugin |
| INCLUDES |
| "${IREE_SOURCE_DIR}/runtime/src/" |
| SHARED |
| ) |
| |
| # NOTE: this is only required because we want this sample to run on all |
| # platforms without needing to change the library name (libfoo.so/foo.dll). |
| iree_package_name(_PACKAGE_NAME) |
| set(_NAME "${_PACKAGE_NAME}_${_RULE_NAME}") |
| set_target_properties("${_NAME}" |
| PROPERTIES |
| WINDOWS_EXPORT_ALL_SYMBOLS ON |
| PREFIX "" |
| OUTPUT_NAME "${_RULE_NAME}" |
| ) |
| |
| add_dependencies(iree-test-deps "${_NAME}") |
| endfunction() |