1#.rst: 2# FindLibDl 3# -------- 4# 5# Find the native realtime includes and library. 6# 7# IMPORTED Targets 8# ^^^^^^^^^^^^^^^^ 9# 10# This module defines :prop_tgt:`IMPORTED` target ``LIBDL::LIBDL``, if 11# LIBDL has been found. 12# 13# Result Variables 14# ^^^^^^^^^^^^^^^^ 15# 16# This module defines the following variables: 17# 18# :: 19# 20# LIBDL_INCLUDE_DIRS - where to find dlfcn.h, etc. 21# LIBDL_LIBRARIES - List of libraries when using libdl. 22# LIBDL_FOUND - True if dynamic linking library found. 23# 24# Hints 25# ^^^^^ 26# 27# A user may set ``LIBDL_ROOT`` to a library installation root to tell this 28# module where to look. 29 30find_path(LIBDL_INCLUDE_DIRS 31 NAMES dlfcn.h 32 PATHS ${LIBDL_ROOT}/include/ 33) 34find_library(LIBDL_LIBRARIES dl) 35include(FindPackageHandleStandardArgs) 36find_package_handle_standard_args(LibDl DEFAULT_MSG LIBDL_LIBRARIES LIBDL_INCLUDE_DIRS) 37mark_as_advanced(LIBDL_INCLUDE_DIRS LIBDL_LIBRARIES) 38 39if(LIBDL_FOUND) 40 if(NOT TARGET LIBDL::LIBDL) 41 add_library(LIBDL::LIBDL UNKNOWN IMPORTED) 42 set_target_properties(LIBDL::LIBDL PROPERTIES 43 IMPORTED_LOCATION "${LIBDL_LIBRARIES}" 44 INTERFACE_INCLUDE_DIRECTORIES "${LIBDL_INCLUDE_DIRS}") 45 endif() 46endif() 47