# -----------------------------------------------------------------------------------------------------------
# Copyright (c) 2026 Huawei Technologies Co., Ltd.
# This program is free software, you can redistribute it and/or modify it under the terms and conditions of
# CANN Open Software License Agreement Version 2.0 (the "License").
# Please refer to the License for details. You may not use this file except in compliance with the License.
# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED,
# INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
# See LICENSE in the root of the software repository for the full text of the License.
# -----------------------------------------------------------------------------------------------------------
# Generated By CANNBot

file(GLOB CURRENT_DIRS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/*)

if(NOT ENABLE_TEST AND NOT BENCHMARK)
    list(REMOVE_ITEM CURRENT_DIRS tests)
endif()

foreach(SUB_DIR ${CURRENT_DIRS})
    if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${SUB_DIR}/CMakeLists.txt")
        add_subdirectory(${SUB_DIR})
    endif()
endforeach()

# 设置算子定义时支持的芯片类型
set(SUPPORT_COMPUTE_UNIT "ascend950")
# 设置每种芯片类型对应的tiling文件目录,即采用op_host目录下哪个文件夹下的tiling文件编译
set(SUPPORT_TILING_DIR "arch35")
# 目录名 iou3d(用户裁决保留,不改为 OpType 框架 snake_case 形式 iou3_d)。
# OPTYPE=iou3d 为本地文件命名域(仅用于 GLOB op_host/iou3d_def*.cpp + opFile.value=iou3d 的 src 路径解析),
# 与算子原型 OpType=Iou3D、aclnn 接口 aclnnIou3D、kernel 入口符号 iou3_d(=optype_snake(Iou3D)) 解耦:
#   - 二进制配置走 checked-in op_host/config/ascend950/iou3d_binary.json(op_type:Iou3D),绕过 generate_bin_scripts
#     的 convert_to_camel('iou3d')='Iou3d'≠'Iou3D' round-trip 缺陷(该 gen 路径仅在无 checked-in json 时启用)。
# aclnn_exclude:使用自定义 aclnn 接口(op_api/aclnn_iou3d,对外接口名 aclnnIou3D),与本仓 ciou/iou_v2/roi_pooling_* 一致
add_all_modules_sources(OPTYPE iou3d ACLNNTYPE aclnn_exclude COMPUTE_UNIT ${SUPPORT_COMPUTE_UNIT} TILING_DIR ${SUPPORT_TILING_DIR} DISABLE_IN_OPP TRUE)