You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							52 lines
						
					
					
						
							1.5 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							52 lines
						
					
					
						
							1.5 KiB
						
					
					
				| # | |
| # FindThrust | |
| # | |
| # This module finds the Thrust header files and extracts their version.  It | |
| # sets the following variables. | |
| # | |
| # THRUST_INCLUDE_DIR -  Include directory for thrust header files.  (All header | |
| #                       files will actually be in the thrust subdirectory.) | |
| # THRUST_VERSION -      Version of thrust in the form "major.minor.patch". | |
| # | |
| # Thrust_FOUND - Indicates whether Thrust has been found | |
| # | |
|  | |
| find_path(THRUST_INCLUDE_DIR | |
| 	HINTS | |
| 		/usr/include/cuda | |
| 		/usr/local/include | |
| 		/usr/local/cuda/include | |
| 		${CUDA_INCLUDE_DIRS} | |
| 	NAMES thrust/version.h | |
| 	DOC "Thrust headers" | |
| ) | |
| if(THRUST_INCLUDE_DIR) | |
| 	list(REMOVE_DUPLICATES THRUST_INCLUDE_DIR) | |
| endif(THRUST_INCLUDE_DIR) | |
|  | |
| # Find thrust version | |
| file(STRINGS ${THRUST_INCLUDE_DIR}/thrust/version.h | |
| 	version | |
| 	REGEX "#define THRUST_VERSION[ \t]+([0-9x]+)" | |
| ) | |
| string(REGEX REPLACE | |
| 	"#define THRUST_VERSION[ \t]+" | |
| 	"" | |
| 	version | |
| 	"${version}" | |
| ) | |
|  | |
| string(REGEX MATCH "^[0-9]" major ${version}) | |
| string(REGEX REPLACE "^${major}00" "" version "${version}") | |
| string(REGEX MATCH "^[0-9]" minor ${version}) | |
| string(REGEX REPLACE "^${minor}0" "" version "${version}") | |
| set(THRUST_VERSION "${major}.${minor}.${version}") | |
| set(THRUST_MAJOR_VERSION "${major}") | |
| set(THRUST_MINOR_VERSION "${minor}") | |
|  | |
| # Check for required components | |
| include(FindPackageHandleStandardArgs) | |
| find_package_handle_standard_args(Thrust REQUIRED_VARS THRUST_INCLUDE_DIR VERSION_VAR THRUST_VERSION) | |
|  | |
| set(THRUST_INCLUDE_DIRS ${THRUST_INCLUDE_DIR}) | |
| mark_as_advanced(THRUST_INCLUDE_DIR) |