xref: /OK3568_Linux_fs/external/camera_engine_rkaiq/rkaiq/cmake/Findlibdl.cmake (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1find_package(PkgConfig QUIET)
2pkg_check_modules(libdl QUIET "libdl")
3
4include(FindPackageHandleStandardArgs)
5find_path(LIBDL_INCLUDE_DIR
6    NAMES
7    dlfcn.h
8    PATH
9    include
10)
11find_library(LIBDL_LIBRARY
12    dl
13    PATH_SUFFIXES
14    lib64
15    lib
16)
17find_package_handle_standard_args(libdl
18    DEFAULT_MSGS
19    LIBDL_INCLUDE_DIR
20    LIBDL_LIBRARY
21)
22mark_as_advanced(
23    LIBDL_INCLUDE_DIR
24    LIBDL_LIBRARY
25)
26
27if (libdl_FOUND)
28    set(LIBDL_LIBRARIES    ${LIBDL_LIBRARY})
29    set(LIBDL_INCLUDE_DIRS ${LIBDL_INCLUDE_DIR})
30    set(LIBDL_CFLAGS "-DHAS_LIBDL")
31
32    if (LIBDL_LIBRARY AND NOT TARGET libdl::libdl)
33        if(IS_ABSOLUTE "${LIBDL_LIBRARY}")
34            add_library(libdl::libdl UNKNOWN IMPORTED)
35            set_target_properties(libdl::libdl PROPERTIES IMPORTED_LOCATION
36                "${LIBDL_LIBRARY}")
37        else()
38            add_library(libdl::libdl INTERFACE IMPORTED)
39            set_target_properties(libdl::libdl PROPERTIES IMPORTED_LIBNAME
40                "${LIBDL_LIBRARY}")
41        endif()
42        set_target_properties(libdl::libdl PROPERTIES INTERFACE_INCLUDE_DIRECTORIES
43            "${LIBDL_INCLUDE_DIR}")
44    endif()
45endif()
46