74 lines
1.4 KiB
CMake
74 lines
1.4 KiB
CMake
|
|
# findHCC does not currently address versioning, i.e.
|
|
# a rich directory structure where version number is a subdirectory under root
|
|
# Also, supported only on UNIX 64 bit systems.
|
|
|
|
if(UNIX)
|
|
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
|
|
|
find_library(HSA_LIBRARY
|
|
NAMES hsa-runtime64
|
|
PATHS
|
|
ENV HSA_PATH
|
|
/opt/rocm/hsa
|
|
PATH_SUFFIXES
|
|
lib)
|
|
|
|
if( NOT DEFINED ENV{HSA_PATH} )
|
|
set( ENV{HSA_PATH} /opt/rocm/hsa)
|
|
endif()
|
|
|
|
find_program(HCC
|
|
NAMES hcc
|
|
PATHS
|
|
ENV HCC_PATH
|
|
/opt/rocm/hcc
|
|
PATH_SUFFIXES
|
|
/bin)
|
|
|
|
if( NOT DEFINED ENV{HCC_PATH} )
|
|
set( ENV{HCC_PATH} /opt/rocm/hcc)
|
|
endif()
|
|
|
|
# this is now dynamic
|
|
# find_library(AMP_LIBRARY
|
|
# NAMES mcwamp
|
|
# PATHS
|
|
# ENV NCC_PATH
|
|
# /opt/rocm/hcc
|
|
# PATH_SUFFIXES
|
|
# /lib)
|
|
|
|
find_path(HCC_INCLUDE_DIR
|
|
NAMES
|
|
hc.hpp
|
|
PATHS
|
|
ENV NCC_PATH
|
|
/opt/rocm/hcc
|
|
PATH_SUFFIXES
|
|
/include)
|
|
|
|
|
|
|
|
set(HSA_LIBRARIES ${HSA_LIBRARY})
|
|
#set(HCC_LIBRARIES ${AMP_LIBRARY})
|
|
set(HCC_INCLUDE_DIRS ${HCC_INCLUDE_DIR})
|
|
|
|
include(FindPackageHandleStandardArgs)
|
|
find_package_handle_standard_args(
|
|
HCC
|
|
FOUND_VAR HCC_FOUND
|
|
REQUIRED_VARS HSA_LIBRARIES HCC_INCLUDE_DIRS HCC)
|
|
|
|
mark_as_advanced(
|
|
HSA_LIBRARIES
|
|
HCC_INCLUDE_DIRS
|
|
)
|
|
|
|
else()
|
|
message(SEND_ERROR "HCC is currently supported only on 64 bit UNIX platforms")
|
|
endif()
|
|
else()
|
|
message(SEND_ERROR "HCC is currently supported on unix platforms")
|
|
endif()
|