find_package(PkgConfig QUIET)
|
pkg_check_modules(libdl QUIET "libdl")
|
|
include(FindPackageHandleStandardArgs)
|
find_path(LIBDL_INCLUDE_DIR
|
NAMES
|
dlfcn.h
|
PATH
|
include
|
)
|
find_library(LIBDL_LIBRARY
|
dl
|
PATH_SUFFIXES
|
lib64
|
lib
|
)
|
find_package_handle_standard_args(LIBDL
|
DEFAULT_MSGS
|
LIBDL_INCLUDE_DIR
|
LIBDL_LIBRARY
|
)
|
mark_as_advanced(
|
LIBDL_INCLUDE_DIR
|
LIBDL_LIBRARY
|
)
|
|
if (LIBDL_FOUND)
|
set(LIBDL_LIBRARIES ${LIBDL_LIBRARY})
|
set(LIBDL_INCLUDE_DIRS ${LIBDL_INCLUDE_DIR})
|
set(LIBDL_CFLAGS "-DHAS_LIBDL")
|
|
if (LIBDL_LIBRARY AND NOT TARGET libdl::libdl)
|
if(IS_ABSOLUTE "${LIBDL_LIBRARY}")
|
add_library(libdl::libdl UNKNOWN IMPORTED)
|
set_target_properties(libdl::libdl PROPERTIES IMPORTED_LOCATION
|
"${LIBDL_LIBRARY}")
|
else()
|
add_library(libdl::libdl INTERFACE IMPORTED)
|
set_target_properties(libdl::libdl PROPERTIES IMPORTED_LIBNAME
|
"${LIBDL_LIBRARY}")
|
endif()
|
set_target_properties(libdl::libdl PROPERTIES INTERFACE_INCLUDE_DIRECTORIES
|
"${LIBDL_INCLUDE_DIR}")
|
endif()
|
endif()
|