46 lines
1.1 KiB
CMake
46 lines
1.1 KiB
CMake
|
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()
|