80 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			CMake
		
	
	
	
			
		
		
	
	
			80 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			CMake
		
	
	
	
# OpenBLASConfig.cmake
 | 
						|
# --------------------
 | 
						|
#
 | 
						|
# OpenBLAS cmake module.
 | 
						|
# This module sets the following variables in your project::
 | 
						|
#
 | 
						|
#   OpenBLAS_FOUND - true if OpenBLAS and all required components found on the system
 | 
						|
#   OpenBLAS_VERSION - OpenBLAS version in format Major.Minor.Release
 | 
						|
#   OpenBLAS_INCLUDE_DIRS - Directory where OpenBLAS header is located.
 | 
						|
#   OpenBLAS_INCLUDE_DIR - same as DIRS
 | 
						|
#   OpenBLAS_LIBRARIES - OpenBLAS library to link against.
 | 
						|
#   OpenBLAS_LIBRARY - same as LIBRARIES
 | 
						|
#
 | 
						|
#
 | 
						|
# Available components::
 | 
						|
#
 | 
						|
##   shared - search for only shared library
 | 
						|
##   static - search for only static library
 | 
						|
#   serial - search for unthreaded library
 | 
						|
#   pthread - search for native pthread threaded library
 | 
						|
#   openmp - search for OpenMP threaded library
 | 
						|
#
 | 
						|
#
 | 
						|
# Exported targets::
 | 
						|
#
 | 
						|
# If OpenBLAS is found, this module defines the following :prop_tgt:`IMPORTED`
 | 
						|
## target. Target is shared _or_ static, so, for both, use separate, not
 | 
						|
## overlapping, installations. ::
 | 
						|
#
 | 
						|
#   OpenBLAS::OpenBLAS - the main OpenBLAS library #with header & defs attached.
 | 
						|
#
 | 
						|
#
 | 
						|
# Suggested usage::
 | 
						|
#
 | 
						|
#   find_package(OpenBLAS)
 | 
						|
#   find_package(OpenBLAS 0.2.20 EXACT CONFIG REQUIRED COMPONENTS pthread)
 | 
						|
#
 | 
						|
#
 | 
						|
# The following variables can be set to guide the search for this package::
 | 
						|
#
 | 
						|
#   OpenBLAS_DIR - CMake variable, set to directory containing this Config file
 | 
						|
#   CMAKE_PREFIX_PATH - CMake variable, set to root directory of this package
 | 
						|
#   PATH - environment variable, set to bin directory of this package
 | 
						|
#   CMAKE_DISABLE_FIND_PACKAGE_OpenBLAS - CMake variable, disables
 | 
						|
#     find_package(OpenBLAS) when not REQUIRED, perhaps to force internal build
 | 
						|
 | 
						|
@PACKAGE_INIT@
 | 
						|
 | 
						|
set(PN OpenBLAS)
 | 
						|
 | 
						|
# need to check that the @USE_*@ evaluate to something cmake can perform boolean logic upon
 | 
						|
if(@USE_OPENMP@)
 | 
						|
    set(${PN}_openmp_FOUND 1)
 | 
						|
elseif(@USE_THREAD@)
 | 
						|
    set(${PN}_pthread_FOUND 1)
 | 
						|
else()
 | 
						|
    set(${PN}_serial_FOUND 1)
 | 
						|
endif()
 | 
						|
 | 
						|
check_required_components(${PN})
 | 
						|
 | 
						|
#-----------------------------------------------------------------------------
 | 
						|
# Don't include targets if this file is being picked up by another
 | 
						|
# project which has already built this as a subproject
 | 
						|
#-----------------------------------------------------------------------------
 | 
						|
if(NOT TARGET ${PN}::OpenBLAS)
 | 
						|
    include("${CMAKE_CURRENT_LIST_DIR}/${PN}Targets.cmake")
 | 
						|
 | 
						|
    get_property(_loc TARGET ${PN}::OpenBLAS PROPERTY LOCATION)
 | 
						|
    set(${PN}_LIBRARY ${_loc})
 | 
						|
    get_property(_ill TARGET ${PN}::OpenBLAS PROPERTY INTERFACE_LINK_LIBRARIES)
 | 
						|
    set(${PN}_LIBRARIES ${_ill})
 | 
						|
 | 
						|
    get_property(_id TARGET ${PN}::OpenBLAS PROPERTY INCLUDE_DIRECTORIES)
 | 
						|
    set(${PN}_INCLUDE_DIR ${_id})
 | 
						|
    get_property(_iid TARGET ${PN}::OpenBLAS PROPERTY INTERFACE_INCLUDE_DIRECTORIES)
 | 
						|
    set(${PN}_INCLUDE_DIRS ${_iid})
 | 
						|
endif()
 | 
						|
 |