]> git.armaanb.net Git - gen-shell.git/blob - cmake/Modules/FindReadline.cmake
Update LICENSE year
[gen-shell.git] / cmake / Modules / FindReadline.cmake
1 # - Find the readline library
2 # This module defines
3 #  READLINE_INCLUDE_DIR, path to readline/readline.h, etc.
4 #  READLINE_LIBRARIES, the libraries required to use READLINE.
5 #  READLINE_FOUND, If false, do not try to use READLINE.
6 # also defined, but not for general use are
7 # READLINE_readline_LIBRARY, where to find the READLINE library.
8 # READLINE_ncurses_LIBRARY, where to find the ncurses library [might not be defined]
9
10 # Apple readline does not support readline hooks
11 # So we look for another one by default
12 IF (APPLE OR FREEBSD)
13   FIND_PATH (READLINE_INCLUDE_DIR NAMES readline/readline.h PATHS
14     /usr/include/
15     /sw/include
16     /opt/local/include
17     /opt/include
18     /usr/local/include
19     NO_DEFAULT_PATH
20     )
21 ENDIF (APPLE OR FREEBSD)
22 FIND_PATH (READLINE_INCLUDE_DIR NAMES readline/readline.h)
23
24
25 # Apple readline does not support readline hooks
26 # So we look for another one by default
27 IF (APPLE OR FREEBSD)
28   FIND_LIBRARY (READLINE_readline_LIBRARY NAMES readline PATHS
29     /usr/lib
30     /sw/lib
31     /opt/local/lib
32     /opt/lib
33     /usr/local/lib
34     NO_DEFAULT_PATH
35     )
36 ENDIF (APPLE OR FREEBSD)
37 FIND_LIBRARY (READLINE_readline_LIBRARY NAMES readline)
38
39 # Sometimes readline really needs ncurses
40 IF (APPLE OR FREEBSD)
41   FIND_LIBRARY (READLINE_ncurses_LIBRARY NAMES ncurses PATHS
42     /usr/lib
43     /sw/lib
44     /opt/local/lib
45     /opt/lib
46     /usr/local/lib
47     /usr/lib
48     NO_DEFAULT_PATH
49     )
50 ENDIF (APPLE OR FREEBSD)
51 FIND_LIBRARY (READLINE_ncurses_LIBRARY NAMES ncurses)
52
53 MARK_AS_ADVANCED (
54   READLINE_INCLUDE_DIR
55   READLINE_readline_LIBRARY
56   READLINE_ncurses_LIBRARY
57   )
58
59 SET (READLINE_FOUND "NO" )
60 IF (READLINE_INCLUDE_DIR)
61   IF (READLINE_readline_LIBRARY)
62     SET (READLINE_FOUND "YES" )
63     SET (READLINE_LIBRARIES
64       ${READLINE_readline_LIBRARY} 
65       )
66
67     # some readline libraries depend on ncurses
68     IF (READLINE_ncurses_LIBRARY)
69       SET (READLINE_LIBRARIES ${READLINE_LIBRARIES} ${READLINE_ncurses_LIBRARY})
70     ENDIF (READLINE_ncurses_LIBRARY)
71
72   ENDIF (READLINE_readline_LIBRARY)
73 ENDIF (READLINE_INCLUDE_DIR)
74
75 IF (READLINE_FOUND)
76   MESSAGE (STATUS "Found readline library")
77 ELSE (READLINE_FOUND)
78   IF (READLINE_FIND_REQUIRED)
79     MESSAGE (FATAL_ERROR "Could not find readline -- please give some paths to CMake")
80   ENDIF (READLINE_FIND_REQUIRED)
81 ENDIF (READLINE_FOUND)