File: Hipify.cmake

package info (click to toggle)
gloo-cuda 0.0~git20231202.5354032-5
  • links: PTS, VCS
  • area: contrib
  • in suites: sid
  • size: 2,156 kB
  • sloc: cpp: 21,546; python: 8,179; makefile: 70; sh: 68
file content (42 lines) | stat: -rw-r--r-- 1,330 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
function (prepend OUTPUT PREPEND)
  set(OUT "")
  foreach(ITEM ${ARGN})
    list(APPEND OUT "${PREPEND}${ITEM}")
  endforeach()
  set(${OUTPUT} ${OUT} PARENT_SCOPE)
endfunction(prepend)

set(HIPIFY_SCRIPTS_DIR ${PROJECT_SOURCE_DIR}/tools/amd_build)
file(GLOB HIPIFY_SCRIPTS ${HIPIFY_SCRIPTS_DIR}/*.py)
set(HIPIFY_OUTPUT_ROOT_DIR ${PROJECT_BINARY_DIR}/hip)
set(HIPIFY_COMMAND
  ${HIPIFY_SCRIPTS_DIR}/build_amd.py
  --project-directory ${PROJECT_SOURCE_DIR}
  --output-directory ${HIPIFY_OUTPUT_ROOT_DIR}
)
execute_process(
  COMMAND ${HIPIFY_COMMAND} --list-files-only
  OUTPUT_VARIABLE HIPIFY_FILES
  RESULT_VARIABLE hipify_return_value
)
if (NOT hipify_return_value EQUAL 0)
  message(FATAL_ERROR "Failed to get hipify files list!")
endif()

prepend(HIPIFY_INPUT_FILES "${PROJECT_SOURCE_DIR}/" "${HIPIFY_FILES}")
prepend(HIPIFY_OUTPUT_FILES "${HIPIFY_OUTPUT_ROOT_DIR}/" "${HIPIFY_FILES}")
# add_custom_command(
#   OUTPUT ${HIPIFY_OUTPUT_FILES}
#   DEPENDS ${HIPIFY_INPUT_FILES} ${HIPIFY_SCRIPTS}
#   COMMAND ${HIPIFY_COMMAND})

execute_process(
  COMMAND ${HIPIFY_COMMAND}
  RESULT_VARIABLE hipify_return_value
  )
if (NOT hipify_return_value EQUAL 0)
  message(FATAL_ERROR "Failed to get hipify files list!")
endif()

include_directories(PREPEND ${HIPIFY_OUTPUT_ROOT_DIR})
set(HIPIFY_OUTPUT_DIR ${HIPIFY_OUTPUT_ROOT_DIR}/gloo)