1 cmake_minimum_required(VERSION 3.22.1)
 2 project(cuda_backend)
 3 
 4 set(CMAKE_CXX_STANDARD 17)
 5 if(UNIX)
 6    if(NOT DEFINED ROCM_PATH)
 7       set(ROCM_PATH "/opt/rocm" CACHE STRING "Default ROCM installation directory.")
 8    endif()
 9    list(APPEND CMAKE_PREFIX_PATH "${ROCM_PATH}")
10 endif()
11 find_package(HIP)
12 #get_cmake_property(_variableNames VARIABLES)
13 #foreach (_variableName ${_variableNames})
14 #    message(STATUS "${_variableName}=${${_variableName}}")
15 #endforeach()
16 if(HIP_FOUND)
17     set(CMAKE_CXX_COMPILER  ${HIP_HIPCC_EXECUTABLE})
18     set(CMAKE_CXX_LINKER   ${HIP_HIPCC_EXECUTABLE})
19 
20     if ("${HIP_BACKEND}EMPTY" STREQUAL "EMPTY")
21       set (HIP_BACKEND "${CMAKE_SOURCE_DIR}")
22       message("HIP_BACKEND=${HIP_BACKEND}")
23     endif()
24 
25     if ("${SHARED_BACKEND}EMPTY" STREQUAL "EMPTY")
26         set (SHARED_BACKEND "${CMAKE_SOURCE_DIR}/../shared")
27         message("SHARED_BACKEND=${SHARED_BACKEND}")
28     endif()
29 
30     include_directories(
31        hip::host
32        ${HIP_INCLUDE_DIR}
33        ${SHARED_BACKEND}/src/main/native/include
34        ${HIP_BACKEND}/src/main/native/include
35     )
36 
37     link_directories(
38        ${CMAKE_BINARY_DIR}
39         ../shared/target/build
40 
41       # ${hip_LIB_INSTALL_DIR}
42     )
43 
44     add_library(hip_backend SHARED
45        ${HIP_BACKEND}/src/main/native/cpp/hip_backend.cpp
46     )
47 
48     target_link_libraries(hip_backend
49        PRIVATE hip::host
50     )
51 
52     add_executable(hip_info
53        ${HIP_BACKEND}/src/main/native/cpp/info.cpp
54     )
55 
56     target_link_libraries(hip_info
57        hip_backend
58        hip::host
59     )
60 else()
61    messge("NO HIP for YOU!")
62 endif()