b0621a4794
Change-Id: I84332a0f7d89271bf9370dbcd19d893119e738f9
51 lines
1.8 KiB
CMake
51 lines
1.8 KiB
CMake
###############################################################################
|
|
# Computes dependencies using HIPCC
|
|
###############################################################################
|
|
|
|
###############################################################################
|
|
# This file converts dependency files generated using hipcc to a format that
|
|
# cmake can understand.
|
|
|
|
# Input variables:
|
|
#
|
|
# input_file:STRING=<> Dependency file to parse. Required argument
|
|
# output_file:STRING=<> Output file to generate. Required argument
|
|
|
|
if(NOT input_file OR NOT output_file)
|
|
message(FATAL_ERROR "You must specify input_file and output_file on the command line")
|
|
endif()
|
|
|
|
file(READ ${input_file} depend_text)
|
|
|
|
if (NOT "${depend_text}" STREQUAL "")
|
|
string(REPLACE " /" "\n/" depend_text ${depend_text})
|
|
string(REGEX REPLACE "^.*:" "" depend_text ${depend_text})
|
|
string(REGEX REPLACE "[ \\\\]*\n" ";" depend_text ${depend_text})
|
|
|
|
set(dependency_list "")
|
|
|
|
foreach(file ${depend_text})
|
|
string(REGEX REPLACE "^ +" "" file ${file})
|
|
if(NOT EXISTS "${file}")
|
|
message(WARNING " Removing non-existent dependency file: ${file}")
|
|
set(file "")
|
|
endif()
|
|
|
|
if(NOT IS_DIRECTORY "${file}")
|
|
get_filename_component(file_absolute "${file}" ABSOLUTE)
|
|
list(APPEND dependency_list "${file_absolute}")
|
|
endif()
|
|
endforeach()
|
|
endif()
|
|
|
|
# Remove the duplicate entries and sort them.
|
|
list(REMOVE_DUPLICATES dependency_list)
|
|
list(SORT dependency_list)
|
|
|
|
foreach(file ${dependency_list})
|
|
set(hip_hipcc_depend "${hip_hipcc_depend} \"${file}\"\n")
|
|
endforeach()
|
|
|
|
file(WRITE ${output_file} "# Generated by: FindHIP.cmake. Do not edit.\nSET(HIP_HIPCC_DEPEND\n ${hip_hipcc_depend})\n\n")
|
|
# vim: ts=4:sw=4:expandtab:smartindent
|