59 lines
1.6 KiB
CMake
59 lines
1.6 KiB
CMake
#[=======================================================================[.rst:
|
|
FindMEMKIND
|
|
---------
|
|
|
|
Find memkind's headers and library.
|
|
|
|
Imported Targets
|
|
^^^^^^^^^^^^^^^^
|
|
|
|
This module defines the following :prop_tgt:`IMPORTED` targets:
|
|
|
|
``MEMKIND::MEMKIND``
|
|
The memkind library, if found.
|
|
|
|
Result Variables
|
|
^^^^^^^^^^^^^^^^
|
|
|
|
This module will set the following variables in your project:
|
|
|
|
``MEMKIND_INCLUDE_DIRS``
|
|
where to find memkind.h, etc.
|
|
``MEMKIND_LIBRARIES``
|
|
the libraries to link against to use memkind.
|
|
``MEMKIND_FOUND``
|
|
true if the memkind headers and libraries were found.
|
|
|
|
#]=======================================================================]
|
|
include(CMakeFindDependencyMacro)
|
|
|
|
# Look for the header file.
|
|
find_path(MEMKIND_INCLUDE_DIR
|
|
NAMES memkind.h
|
|
DOC "memkind include directory")
|
|
mark_as_advanced(MEMKIND_INCLUDE_DIR)
|
|
|
|
# Look for the library.
|
|
find_library(MEMKIND_LIBRARY
|
|
NAMES memkind libmemkind
|
|
DOC "memkind library")
|
|
mark_as_advanced(MEMKIND_LIBRARY)
|
|
|
|
include(FindPackageHandleStandardArgs)
|
|
find_package_handle_standard_args(MEMKIND
|
|
REQUIRED_VARS MEMKIND_LIBRARY MEMKIND_INCLUDE_DIR)
|
|
|
|
# Copy the results to the output variables and target.
|
|
if(MEMKIND_FOUND)
|
|
set(MEMKIND_LIBRARIES "${MEMKIND_LIBRARY}")
|
|
set(MEMKIND_INCLUDE_DIRS "${MEMKIND_INCLUDE_DIR}")
|
|
|
|
if(NOT TARGET MEMKIND::MEMKIND)
|
|
add_library(MEMKIND::MEMKIND UNKNOWN IMPORTED)
|
|
set_target_properties(MEMKIND::MEMKIND PROPERTIES
|
|
IMPORTED_LINK_INTERFACE_LANGUAGES "C"
|
|
IMPORTED_LOCATION "${MEMKIND_LIBRARY}"
|
|
INTERFACE_INCLUDE_DIRECTORIES "${MEMKIND_INCLUDE_DIRS}")
|
|
endif()
|
|
endif()
|