|
|
|
@ -13,7 +13,7 @@ Imported Targets |
|
|
|
|
This module provides the following imported targets, if found: |
|
|
|
|
|
|
|
|
|
``Curses::curses`` |
|
|
|
|
The CURSES library |
|
|
|
|
The CURSES library and possibly TINFO library |
|
|
|
|
|
|
|
|
|
Result Variables |
|
|
|
|
^^^^^^^^^^^^^^^^ |
|
|
|
@ -34,20 +34,26 @@ Cache Variables |
|
|
|
|
|
|
|
|
|
The following cache variables may also be set: |
|
|
|
|
|
|
|
|
|
``CURSES_INCLUDE_DIR`` |
|
|
|
|
The directory containing ``foo.h``. |
|
|
|
|
``NCURSES_INCLUDE_DIR`` |
|
|
|
|
The directory containing ``ncurses.h``. |
|
|
|
|
``PDCURSES_INCLUDE_DIR`` |
|
|
|
|
The directory containing ``curses.h``. |
|
|
|
|
``CURSES_LIBRARY`` |
|
|
|
|
The path to the CURSES library. |
|
|
|
|
``TINFO_LIBRARY`` |
|
|
|
|
The path to the TINFO library. |
|
|
|
|
|
|
|
|
|
#]=======================================================================] |
|
|
|
|
|
|
|
|
|
find_package(PkgConfig QUIET) |
|
|
|
|
# First try for NCurses |
|
|
|
|
pkg_search_module (PC_NCurses QUIET ncurses ncursesw) |
|
|
|
|
if(NOT NCURSES_INCLUDE_DIR) |
|
|
|
|
find_package(PkgConfig QUIET) |
|
|
|
|
# First try for NCurses |
|
|
|
|
pkg_search_module (PC_NCurses QUIET ncurses ncursesw) |
|
|
|
|
endif() |
|
|
|
|
|
|
|
|
|
find_path(NCURSES_INCLUDE_DIR |
|
|
|
|
NAMES ncurses.h |
|
|
|
|
PATHS ${PC_NCurses_INCLUDE_DIRS} ${CURSES_INCLUDE_DIR} |
|
|
|
|
NAMES ncurses.h |
|
|
|
|
PATHS ${PC_NCurses_INCLUDE_DIRS} ${CURSES_INCLUDE_DIR} |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
string(FIND ${NCURSES_INCLUDE_DIR} "-NOTFOUND" NCURSES_NOT_FOUND) |
|
|
|
@ -69,82 +75,99 @@ if(NCURSES_NOT_FOUND EQUAL -1) |
|
|
|
|
|
|
|
|
|
include(FindPackageHandleStandardArgs) |
|
|
|
|
find_package_handle_standard_args(CURSES |
|
|
|
|
FOUND_VAR CURSES_FOUND |
|
|
|
|
REQUIRED_VARS |
|
|
|
|
CURSES_LIBRARY |
|
|
|
|
NCURSES_INCLUDE_DIR |
|
|
|
|
VERSION_VAR CURSES_VERSION |
|
|
|
|
FOUND_VAR CURSES_FOUND |
|
|
|
|
REQUIRED_VARS |
|
|
|
|
CURSES_LIBRARY |
|
|
|
|
NCURSES_INCLUDE_DIR |
|
|
|
|
VERSION_VAR CURSES_VERSION |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
include(FindPackageHandleStandardArgs) |
|
|
|
|
find_package_handle_standard_args(TINFO |
|
|
|
|
FOUND_VAR TINFO_FOUND |
|
|
|
|
REQUIRED_VARS |
|
|
|
|
TINFO_LIBRARY |
|
|
|
|
NCURSES_INCLUDE_DIR |
|
|
|
|
VERSION_VAR CURSES_VERSION |
|
|
|
|
NAME_MISMATCHED |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
set(HAVE_LIBNCURSES 1) |
|
|
|
|
set(CURSES_INCLUDE "<ncurses.h>") |
|
|
|
|
|
|
|
|
|
set(CURSES_LIBRARIES ${CURSES_LIBRARY}) |
|
|
|
|
if(NOT TINFO_FOUND) |
|
|
|
|
set(CURSES_LIBRARIES "${CURSES_LIBRARY}") |
|
|
|
|
else() |
|
|
|
|
set(CURSES_LIBRARIES "${CURSES_LIBRARY};${TINFO_LIBRARY}") |
|
|
|
|
endif() |
|
|
|
|
|
|
|
|
|
set(CURSES_INCLUDE_DIRS ${NCURSES_INCLUDE_DIR}) |
|
|
|
|
set(CURSES_DEFINITIONS ${PC_NCurses_CFLAGS_OTHER}) |
|
|
|
|
|
|
|
|
|
if (NOT TARGET Curses::curses) |
|
|
|
|
add_library(Curses::curses INTERFACE IMPORTED) |
|
|
|
|
set_target_properties(Curses::curses PROPERTIES |
|
|
|
|
INTERFACE_COMPILE_OPTIONS "${PC_NCurses_CFLAGS_OTHER}" |
|
|
|
|
INTERFACE_INCLUDE_DIRECTORIES "${CURSES_INCLUDE_DIRS}" |
|
|
|
|
INTERFACE_LINK_LIBRARIES "${CURSES_LIBRARY}" |
|
|
|
|
) |
|
|
|
|
add_library(Curses::curses INTERFACE IMPORTED) |
|
|
|
|
set_target_properties(Curses::curses PROPERTIES |
|
|
|
|
INTERFACE_COMPILE_OPTIONS "${PC_NCurses_CFLAGS_OTHER}" |
|
|
|
|
INTERFACE_INCLUDE_DIRECTORIES "${CURSES_INCLUDE_DIRS}" |
|
|
|
|
INTERFACE_LINK_LIBRARIES "${CURSES_LIBRARIES}" |
|
|
|
|
) |
|
|
|
|
endif() |
|
|
|
|
else() |
|
|
|
|
# Try for PDCurses |
|
|
|
|
pkg_check_modules(PC_PDCurses QUIET curses) |
|
|
|
|
|
|
|
|
|
find_path(PDCURSES_INCLUDE_DIR |
|
|
|
|
NAMES curses.h |
|
|
|
|
PATHS ${PC_PDCurses_INCLUDE_DIRS} ${CURSES_INCLUDE_DIR} |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
string(FIND ${PDCURSES_INCLUDE_DIR} "-NOTFOUND" PDCURSES_NOT_FOUND) |
|
|
|
|
if(PDCURSES_NOT_FOUND EQUAL -1) |
|
|
|
|
# |
|
|
|
|
# pdcurses WAS found! |
|
|
|
|
# |
|
|
|
|
set(HAVE_LIBPDCURSES 1) |
|
|
|
|
set(CURSES_INCLUDE "<curses.h>") |
|
|
|
|
|
|
|
|
|
find_library(CURSES_LIBRARY |
|
|
|
|
NAMES curses pdcurses |
|
|
|
|
PATHS ${PC_PDCurses_LIBRARY_DIRS} |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
set(CURSES_VERSION ${PC_PDCurses_VERSION}) |
|
|
|
|
|
|
|
|
|
include(FindPackageHandleStandardArgs) |
|
|
|
|
find_package_handle_standard_args(CURSES |
|
|
|
|
FOUND_VAR CURSES_FOUND |
|
|
|
|
REQUIRED_VARS |
|
|
|
|
CURSES_LIBRARY |
|
|
|
|
PDCURSES_INCLUDE_DIR |
|
|
|
|
VERSION_VAR CURSES_VERSION |
|
|
|
|
) |
|
|
|
|
# Try for PDCurses |
|
|
|
|
pkg_check_modules(PC_PDCurses QUIET curses) |
|
|
|
|
|
|
|
|
|
set(HAVE_LIBPDCURSES 1) |
|
|
|
|
set(CURSES_INCLUDE "<curses.h>") |
|
|
|
|
find_path(PDCURSES_INCLUDE_DIR |
|
|
|
|
NAMES curses.h |
|
|
|
|
PATHS ${PC_PDCurses_INCLUDE_DIRS} ${CURSES_INCLUDE_DIR} |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
set(CURSES_LIBRARIES ${CURSES_LIBRARY}) |
|
|
|
|
set(CURSES_INCLUDE_DIRS ${PDCURSES_INCLUDE_DIR}) |
|
|
|
|
set(CURSES_DEFINITIONS ${PC_PDCurses_CFLAGS_OTHER}) |
|
|
|
|
string(FIND ${PDCURSES_INCLUDE_DIR} "-NOTFOUND" PDCURSES_NOT_FOUND) |
|
|
|
|
if(PDCURSES_NOT_FOUND EQUAL -1) |
|
|
|
|
# |
|
|
|
|
# pdcurses WAS found! |
|
|
|
|
# |
|
|
|
|
set(HAVE_LIBPDCURSES 1) |
|
|
|
|
set(CURSES_INCLUDE "<curses.h>") |
|
|
|
|
|
|
|
|
|
if (NOT TARGET Curses::curses) |
|
|
|
|
add_library(Curses::curses UNKNOWN IMPORTED) |
|
|
|
|
set_target_properties(Curses::curses PROPERTIES |
|
|
|
|
INTERFACE_COMPILE_OPTIONS "${PC_PDCurses_CFLAGS_OTHER}" |
|
|
|
|
INTERFACE_INCLUDE_DIRECTORIES "${CURSES_INCLUDE_DIRS}" |
|
|
|
|
IMPORTED_LOCATION "${CURSES_LIBRARY}" |
|
|
|
|
find_library(CURSES_LIBRARY |
|
|
|
|
NAMES curses pdcurses |
|
|
|
|
PATHS ${PC_PDCurses_LIBRARY_DIRS} |
|
|
|
|
) |
|
|
|
|
endif() |
|
|
|
|
else() |
|
|
|
|
message(FATAL_ERROR "Unable to find ncurses or pdcurses") |
|
|
|
|
endif() |
|
|
|
|
|
|
|
|
|
set(CURSES_VERSION ${PC_PDCurses_VERSION}) |
|
|
|
|
|
|
|
|
|
include(FindPackageHandleStandardArgs) |
|
|
|
|
find_package_handle_standard_args(CURSES |
|
|
|
|
FOUND_VAR CURSES_FOUND |
|
|
|
|
REQUIRED_VARS |
|
|
|
|
CURSES_LIBRARY |
|
|
|
|
PDCURSES_INCLUDE_DIR |
|
|
|
|
VERSION_VAR CURSES_VERSION |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
set(HAVE_LIBPDCURSES 1) |
|
|
|
|
set(CURSES_INCLUDE "<curses.h>") |
|
|
|
|
|
|
|
|
|
set(CURSES_LIBRARIES ${CURSES_LIBRARY}) |
|
|
|
|
set(CURSES_INCLUDE_DIRS ${PDCURSES_INCLUDE_DIR}) |
|
|
|
|
set(CURSES_DEFINITIONS ${PC_PDCurses_CFLAGS_OTHER}) |
|
|
|
|
|
|
|
|
|
if (NOT TARGET Curses::curses) |
|
|
|
|
add_library(Curses::curses UNKNOWN IMPORTED) |
|
|
|
|
set_target_properties(Curses::curses PROPERTIES |
|
|
|
|
INTERFACE_COMPILE_OPTIONS "${PC_PDCurses_CFLAGS_OTHER}" |
|
|
|
|
INTERFACE_INCLUDE_DIRECTORIES "${CURSES_INCLUDE_DIRS}" |
|
|
|
|
IMPORTED_LOCATION "${CURSES_LIBRARIES}" |
|
|
|
|
) |
|
|
|
|
endif() |
|
|
|
|
else() |
|
|
|
|
message(FATAL_ERROR "Unable to find ncurses or pdcurses") |
|
|
|
|
endif() |
|
|
|
|
endif() |
|
|
|
|
|
|
|
|
|
mark_as_advanced( |
|
|
|
|
CURSES_INCLUDE_DIR |
|
|
|
|
CURSES_LIBRARY |
|
|
|
|
NCURSES_INCLUDE_DIR |
|
|
|
|
PDCURSES_INCLUDE_DIR |
|
|
|
|
CURSES_LIBRARY |
|
|
|
|
TINFO_LIBRARY |
|
|
|
|
) |
|
|
|
|