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()
 |