Fix doc bugs in LibIberty
[dyninst.git] / cmake / Modules / FindLibIberty.cmake
1 #========================================================================================
2 # FindLibIberty.cmake
3 #
4 # Find LibIberty include dirs and libraries
5 #
6 #               ----------------------------------------
7 #
8 # Use this module by invoking find_package with the form::
9 #
10 #  find_package(LibIberty
11 #    [REQUIRED]             # Fail with error if LibIberty is not found
12 #  )
13 #
14 # This module reads hints about search locations from variables::
15 #
16 #       LibIberty_ROOT_DIR      - Base directory the of LibIberty installation
17 #       LibIberty_LIBRARYDIR    - Hint directory that contains the LibIberty library files
18 #   IBERTY_LIBRARIES        - Alias for LibIberty_LIBRARIES (backwards compatibility only)
19 #
20 # and saves search results persistently in CMake cache entries::
21 #
22 #       LibIberty_FOUND         - True if headers and requested libraries were found
23 #   IBERTY_FOUND            - Alias for LibIberty_FOUND (backwards compatibility only)
24 #       LibIberty_LIBRARY_DIRS  - Link directories for LibIberty libraries
25 #       LibIberty_LIBRARIES     - LibIberty library files
26 #   IBERTY_LIBRARIES        - Alias for LibIberty_LIBRARIES (backwards compatibility only)
27 #
28 #========================================================================================
29
30 if(LibIberty_FOUND)
31   return()
32 endif()
33
34 # Keep the semantics of IBERTY_LIBRARIES for backward compatibility
35 # NB: If both are specified, LibIberty_LIBRARIES is ignored
36 if(NOT "${IBERTY_LIBRARIES}" STREQUAL "")
37   set(LibIberty_LIBRARIES ${IBERTY_LIBRARIES})
38 endif()
39
40 include(DyninstSystemPaths)
41
42 # Non-standard subdirectories to search
43 set(_path_suffixes libiberty iberty)
44
45 # iberty_pic is for Debian <= wheezy
46 find_library(LibIberty_LIBRARIES
47              NAMES iberty_pic iberty
48              HINTS ${LibIberty_ROOT_DIR}
49                    ${LibIberty_LIBRARYDIR}
50                    ${IBERTY_LIBRARIES}
51              PATHS ${DYNINST_SYSTEM_LIBRARY_PATHS}
52              PATH_SUFFIXES ${_path_suffixes})
53
54 include(FindPackageHandleStandardArgs)
55 find_package_handle_standard_args(LibIberty
56                                   FOUND_VAR
57                                   LibIberty_FOUND
58                                   REQUIRED_VARS
59                                   LibIberty_LIBRARIES)
60
61 # For backwards compatibility only
62 set(IBERTY_FOUND ${LibIberty_FOUND})
63
64 if(LibIberty_FOUND)
65   foreach(l in ${LibIberty_LIBRARIES})
66     get_filename_component(_dir ${l} DIRECTORY)
67     list(APPEND LibIberty_LIBRARY_DIRS ${_dir})
68   endforeach()
69   
70   # For backwards compatibility only
71   set(IBERTY_LIBRARIES ${LibIberty_LIBRARIES})
72 endif()