mirror of
https://github.com/neovim/neovim.git
synced 2024-12-19 18:55:14 -07:00
build: require unibilium>=2.0 (#10681)
* build: require unibilium>=2.0
This also ports FindUnibilium to LibFindMacros, which was planned
anyway, and makes the version check easier.
With an older Unibilium our fallback code in `terminfo_from_builtin`
will not work (because it assumes the new data structures from 2.0.0 [1]),
and nvim would crash later because of `ut` being NUL.
1: 42f3cdd284
This commit is contained in:
parent
ae27406db2
commit
a49cf51269
@ -408,7 +408,7 @@ endif()
|
||||
option(FEAT_TUI "Enable the Terminal UI" ON)
|
||||
|
||||
if(FEAT_TUI)
|
||||
find_package(Unibilium REQUIRED)
|
||||
find_package(Unibilium 2.0 REQUIRED)
|
||||
include_directories(SYSTEM ${UNIBILIUM_INCLUDE_DIRS})
|
||||
|
||||
list(APPEND CMAKE_REQUIRED_INCLUDES "${UNIBILIUM_INCLUDE_DIRS}")
|
||||
|
@ -4,34 +4,9 @@
|
||||
# UNIBILIUM_INCLUDE_DIRS - The unibilium include directories
|
||||
# UNIBILIUM_LIBRARIES - The libraries needed to use unibilium
|
||||
|
||||
find_package(PkgConfig)
|
||||
if (PKG_CONFIG_FOUND)
|
||||
pkg_check_modules(PC_UNIBILIUM QUIET unibilium)
|
||||
endif()
|
||||
include(LibFindMacros)
|
||||
|
||||
set(UNIBILIUM_DEFINITIONS ${PC_UNIBILIUM_CFLAGS_OTHER})
|
||||
|
||||
find_path(UNIBILIUM_INCLUDE_DIR unibilium.h
|
||||
PATHS ${PC_UNIBILIUM_INCLUDEDIR} ${PC_UNIBILIUM_INCLUDE_DIRS})
|
||||
|
||||
# If we're asked to use static linkage, add libunibilium.a as a preferred library name.
|
||||
if(UNIBILIUM_USE_STATIC)
|
||||
list(APPEND UNIBILIUM_NAMES
|
||||
"${CMAKE_STATIC_LIBRARY_PREFIX}unibilium${CMAKE_STATIC_LIBRARY_SUFFIX}")
|
||||
endif()
|
||||
|
||||
list(APPEND UNIBILIUM_NAMES unibilium)
|
||||
|
||||
find_library(UNIBILIUM_LIBRARY NAMES ${UNIBILIUM_NAMES}
|
||||
HINTS ${PC_UNIBILIUM_LIBDIR} ${PC_UNIBILIUM_LIBRARY_DIRS})
|
||||
|
||||
set(UNIBILIUM_LIBRARIES ${UNIBILIUM_LIBRARY})
|
||||
set(UNIBILIUM_INCLUDE_DIRS ${UNIBILIUM_INCLUDE_DIR})
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
# handle the QUIETLY and REQUIRED arguments and set UNIBILIUM_FOUND to TRUE
|
||||
# if all listed variables are TRUE
|
||||
find_package_handle_standard_args(Unibilium DEFAULT_MSG
|
||||
UNIBILIUM_LIBRARY UNIBILIUM_INCLUDE_DIR)
|
||||
|
||||
mark_as_advanced(UNIBILIUM_INCLUDE_DIR UNIBILIUM_LIBRARY)
|
||||
libfind_pkg_detect(UNIBILIUM unibilium
|
||||
FIND_PATH unibilium.h
|
||||
FIND_LIBRARY unibilium)
|
||||
libfind_process(UNIBILIUM)
|
||||
|
Loading…
Reference in New Issue
Block a user