mirror of
https://github.com/neovim/neovim.git
synced 2024-12-26 14:11:15 -07:00
9f9cef1b56
Cmake truncates the full link path to a shared library if it is missing an SONAME in some undocumented scenarios. This causes builds in some systems to fail if "lpeg" isn't a library on the system path. The path of imported libraries aren't modified by cmake, so we can use that as a workaround until a proper solution for this has been identified. Closes https://github.com/neovim/neovim/issues/23395.
17 lines
555 B
CMake
17 lines
555 B
CMake
find_library(LPEG_LIBRARY NAMES lpeg_a lpeg liblpeg_a)
|
|
|
|
# Ubuntu-specific workaround to find system paths
|
|
function(ubuntu)
|
|
set(CMAKE_FIND_LIBRARY_PREFIXES "")
|
|
find_library(LPEG_LIBRARY NAMES lpeg PATH_SUFFIXES lua/5.1)
|
|
endfunction()
|
|
ubuntu()
|
|
|
|
find_package_handle_standard_args(Lpeg DEFAULT_MSG LPEG_LIBRARY)
|
|
mark_as_advanced(LPEG_LIBRARY)
|
|
|
|
# Workaround: use an imported library to prevent cmake from modifying library
|
|
# link path. See #23395.
|
|
add_library(lpeg UNKNOWN IMPORTED)
|
|
set_target_properties(lpeg PROPERTIES IMPORTED_LOCATION ${LPEG_LIBRARY})
|