mirror of
https://github.com/neovim/neovim.git
synced 2024-12-23 20:55:18 -07:00
build: link libraries by full path (for luv.so) (#10661)
Use "luv" as imported library to work around "-lluv" being used due to missing SONAME. Fixes https://github.com/neovim/neovim/issues/10407. Ref: https://gitlab.kitware.com/cmake/cmake/issues/19578 Ref: https://github.com/NixOS/nixpkgs/issues/64400#issuecomment-516557253
This commit is contained in:
parent
a336a05e7e
commit
90e44ecf11
@ -14,7 +14,8 @@ set(LIBLUV_DEFINITIONS ${PC_LIBLUV_CFLAGS_OTHER})
|
||||
find_path(LIBLUV_INCLUDE_DIR luv/luv.h
|
||||
PATHS ${PC_LIBLUV_INCLUDEDIR} ${PC_LIBLUV_INCLUDE_DIRS})
|
||||
|
||||
list(APPEND LIBLUV_NAMES luv)
|
||||
# Explicitly look for luv.so. #10407
|
||||
list(APPEND LIBLUV_NAMES luv luv${CMAKE_SHARED_LIBRARY_SUFFIX})
|
||||
|
||||
find_library(LIBLUV_LIBRARY NAMES ${LIBLUV_NAMES}
|
||||
HINTS ${PC_LIBLUV_LIBDIR} ${PC_LIBLUV_LIBRARY_DIRS})
|
||||
|
@ -381,9 +381,14 @@ if(WIN32)
|
||||
list(APPEND NVIM_LINK_LIBRARIES ${WINPTY_LIBRARIES})
|
||||
endif()
|
||||
|
||||
# Use "luv" as imported library, to work around CMake using "-lluv" for
|
||||
# "luv.so". #10407
|
||||
add_library(luv UNKNOWN IMPORTED)
|
||||
set_property(TARGET luv PROPERTY IMPORTED_LOCATION ${LIBLUV_LIBRARIES})
|
||||
|
||||
# Put these last on the link line, since multiple things may depend on them.
|
||||
list(APPEND NVIM_LINK_LIBRARIES
|
||||
${LIBLUV_LIBRARIES}
|
||||
luv
|
||||
${LIBUV_LIBRARIES}
|
||||
${MSGPACK_LIBRARIES}
|
||||
${LIBVTERM_LIBRARIES}
|
||||
@ -401,6 +406,7 @@ endif()
|
||||
|
||||
set(NVIM_EXEC_LINK_LIBRARIES ${NVIM_LINK_LIBRARIES} ${LUA_PREFERRED_LIBRARIES})
|
||||
|
||||
# Add IPO flags (for LTO), or error if CMake does not know the flags. #8654
|
||||
if(POLICY CMP0069)
|
||||
cmake_policy(SET CMP0069 NEW)
|
||||
endif()
|
||||
|
Loading…
Reference in New Issue
Block a user