cmake_minimum_required(VERSION 3.16)

# Find hipcc executable
find_program(HIPCC_EXECUTABLE hipcc
    PATHS /opt/dtk-25.04.3/bin
    NO_DEFAULT_PATH
)
if(NOT HIPCC_EXECUTABLE)
    find_program(HIPCC_EXECUTABLE hipcc REQUIRED)
endif()

# Find ROCm path
find_path(ROCM_ROOT
    NAMES include/hip/hip_runtime.h
    PATHS /opt/dtk-25.04.3
    DOC "ROCm installation directory"
)

set(CMAKE_CXX_COMPILER ${HIPCC_EXECUTABLE})

project(resize_test LANGUAGES CXX)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

# 默认使用 Debug 模式（如果未指定）
if(NOT CMAKE_BUILD_TYPE)
    set(CMAKE_BUILD_TYPE Debug CACHE STRING "Choose the type of build" FORCE)
endif()

add_executable(resize-test resize-test.cpp)

# 设置 HIP 编译标志：包含 ROCm 路径、目标架构、调试信息
set_property(TARGET resize-test APPEND_STRING PROPERTY 
    COMPILE_FLAGS " --rocm-path=${ROCM_ROOT} --offload-arch=gfx936")
    
    # COMPILE_FLAGS " --rocm-path=${ROCM_ROOT} --offload-arch=gfx936 -g -O1")

target_compile_definitions(resize-test PRIVATE 
    __HIP_PLATFORM_AMD__=1
    THRUST_DEVICE_SYSTEM=THRUST_DEVICE_SYSTEM_HIP
    THRUST_HOST_SYSTEM=THRUST_HOST_SYSTEM_CPP
)